delattre13
Messages postés20Date d'inscriptionlundi 2 février 2009StatutMembreDernière intervention 3 mai 2013
-
26 mai 2012 à 22:58
rvblog
Messages postés792Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention12 juin 2012
-
28 mai 2012 à 08:51
Bonjour
Sur VBA Excel lorsqu'on utilise l'instruction :
Columns("A:A").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertWarning, Operator:=xlBetween, Formula1:="J;P;E;M"
Dans l'onglet de validation de la feuille Excel il n'y qu'une seule ligne et un seul choix possible : J;P;E;M
Si on sélectionne la colonne et on va dans le menu Données / Validation puis on valide tout rentre dans l'ordre :
4 lignes et 4 choix possibles J P E ou M
Pour contourner le problème j'ai essayé Formula1:="J,P,E,M" sans succès.
Idem avec
Formula1:="J" & Chr(10) & "P" & Chr(10) & "E" & Chr(10) & "M"
Dans tous les cas on a toujours qu'une ligne et un choix J;P;E;M
J'ai essayé de repasser par la commande
.Modify Type:=xlValidateList, AlertStyle:=xlValidAlertWarning, Operator:=xlBetween, Formula1:="J;P;E;M"
Mais sans succès. Si vous avez une idée du problème merci de votre aide.
rvblog
Messages postés792Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention12 juin 20127 28 mai 2012 à 08:51
Bonjour Delattre13,
il semble que le problème vienne des arguments.
Le séparateur (de la chaîne liste d'éléments) est bien la virgule, mais l'argument Operator que tu utilises n'est pas adapté à ton cas (pour xlBetween, tu devrais renseigner Formula2, et c'est un contrôle borné et non un contrôle ensembliste). Dans ton cas, donc, cet argument est facultatif.
Essaies ceci (je n'utilise pas les arguments nommés, mais ce n'est pas une obligation, ça doit aussi marcher avec) :
Dim wksTemp As Excel.Worksheet
Dim colTemp As Excel.Range
Set wksTemp = ThisWorkbook.Worksheets("Feuil4")
Set colTemp = wksTemp.Columns("A:A")
colTemp.Validation.Delete
colTemp.Validation.Add xlValidateList, xlValidAlertWarning, , "J,P,E,M"
rvblogn
Je veux ton bien....et je l'aurais....mieux vaut tard...que trop tard!