Excel macro pour appliquer fonction sur une colonne - VB/VBA/VBS - Programmation
Marsh Posté le 22-07-2007 à 20:58:33
Le premier paramètre de la fonction mid() doit être une chaine de caractères.
Est-ce que K et L sont des noms de variables, ou bien est-ce les lettres des colonnes ?
La valeur renvoyée par la fonction mid est une chaine de caractères, donc il ne faut pas la comparer avec un chiffre.
Il faudrait avoir quelque chose comme
Dim valeur_K as String |
Marsh Posté le 22-07-2007 à 21:21:26
K et L sont des noms de colonnes.
Merci pour ta réponse si rapide.
Marsh Posté le 22-07-2007 à 22:12:44
En fait ce que je cherche à faire c'est appliquer une fonction dans toute une colonne du tableau dynamique un eu comme si j'utilisais la méthode d'étendre la formule quand je l'ai tapé dans une seule cellule.
Merci
Marsh Posté le 22-07-2007 à 23:30:21
en fait tu cherches à créer une fonction personnalisée
en ne tenant compte que de ton code ( bon ou pas )
Option Explicit |
ce code est à placer dans un Module standard
[Alt+F11] Menu Insertion | Module
Ensuite sous Excel
Sélectionner la cellule de destination
Menu Insertion | Fonction | Catégorie : Personnalisées
Sélectionner YesNo
l'assistant apparait etc
Sinon par Exemple A1 =YesNo(Z1;H1)
il y aurait peut-être un And à placer qqpart ? enfin tu verras
Option Explicit |
Marsh Posté le 23-07-2007 à 19:59:11
Merci pour votre aide j'ai enfin avec vos conseils réussi à faire ce que je voulais.
A bientôt
Marsh Posté le 22-07-2007 à 20:16:32
Bonjour à tous,
Je suis en stage et durant celui-ci nous utilisons un classeur excel avec des macros. Il m'a été demandé de faie une modification mais je n'arrive pas à trouver le bon code.
Dans le tableau il y a plusieurs colonnes, je dois en rajouter une qui rend "oui" ou "non" pour cahque ligne suivant la valeur contenu dans les cellules d'une autre colonne. Dans cette autre colonne il y a un code à 4 ou 6 chiffres et c'est l'un de ces chiffres qui m'intéresse. J'ai donc utilisé la fonction mid() mais je n'arrive pas à appliquer ma fonction à toute la colonne.
Mon code :
If Mid(K, 2, 1) = 1 Or Mid(K, 2, 1) = 0 Or Mid(L, 6, 1) = 1 Or Mid(L, 6, 1) = 0 Or Mid(L, 2, 1) = 1 Or Mid(L, 2, 1) = 0 Then
Cells(vID, PresProtect) = "Oui"
Else
Cells(vID, PresProtect) = "Non"
End If
Si quelqu'un peut m'aider je ne m'y connais pas trop en programmation.
Merci beaucoup.