Problème visualisation de liste créer par .Validation.Add sous VBA Excel

Résolu
delattre13 Messages postés 20 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 3 mai 2013 - 26 mai 2012 à 22:58
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 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.

Salutations à tous

1 réponse

rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
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!
3
Rejoignez-nous