Lire les données d'une liste de validation - VB/VBA/VBS - Programmation
Marsh Posté le 30-08-2006 à 17:52:46
bonjour,
En VBA tu n'as pas à t'occuper de la liste de validation tu affectez directement la valeur de cellule.
Range("A1" ) = "oui"
A+
Marsh Posté le 30-08-2006 à 18:05:28
salut
je ne cherche pas exactement à affecter une valeur à la cellule. je veux juste lire les valeurs de la liste via une macro ss que l'utilisateur le fasse de lui-mm. en gros ma macro va effectuer un calcul avec "oui" (valeur affcichée par défaut sur la feuille) puis lire la seconde valeur qui est "non et faire à nouveau un calcul.
mais comment faire?
Marsh Posté le 30-08-2006 à 18:10:39
Re...
ça y est je viens de comprendre...
Tu peux essayer un truc comme ça, mais ça dépend un peu comment est monté ta liste de validation si c'est un string énuméré ça ira tu pourras le spliter sinon faut voir ce que tu obtiens en retour.
With Selection.Validation
MsgBox .Formula1
End With
A+
Marsh Posté le 30-08-2006 à 18:32:35
ton code renvoie oui;non...
mais il ne va pas chercher chaque valeur. ce que je veux c'est récupérer chaque champ de la liste ss forcément les afficher (pour les utiliser en interne après).
Marsh Posté le 30-08-2006 à 18:33:52
...
Cette macro fait la différence entre un retour chaîne "oui;non"
ou un retour adresse = "$A$1:$A$2"
Attention on travaille toujours sur Sélection !
Sub Macro1()
Dim Arr() As String, r$
r = Selection.Validation.Formula1
If Left(r, 1) <> "=" Then ':="oui;non"
Arr() = Split(r, ";" )
Else '= "$A$1:$A$2"
r = Right(r, Len(r) - 1)
Arr() = Split(r, ":" )
End If
For i = LBound(Arr()) To UBound(Arr())
MsgBox Arr(i)
Next
End Sub
A+
Marsh Posté le 30-08-2006 à 17:22:05
salut
après qqes recherches j'ai rien trouvé.
sur une feuille XL, j'ai une cellule (disons "A1" ) qui possède une liste de validation de données (objet Validation de Range) avec 2 données: "oui" et "non" (tt simplement!).
Bref je voudrais créer une macro en VBA qui va lire cette liste et changer les champs càd passer de "oui" à "non" qd il est nécessaire de le faire.
En fait je voudrais que ma macro clique sur la flèche de la liste de validation.
Comment faire?
merci