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

Messages postés
20
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
3 mai 2013
- - Dernière réponse : rvblog
Messages postés
794
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
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
794
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
12 juin 2012
5
3
Merci
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!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 185 internautes nous ont dit merci ce mois-ci

Commenter la réponse de rvblog