Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1475 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Lire les données d'une liste de validation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lire les données d'une liste de validation

n°1433831
acrosomia
Posté le 30-08-2006 à 17:22:05  profilanswer
 

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

mood
Publicité
Posté le 30-08-2006 à 17:22:05  profilanswer
 

n°1433866
galopin01
Posté le 30-08-2006 à 17:52:46  profilanswer
 

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+

n°1433896
acrosomia
Posté le 30-08-2006 à 18:05:28  profilanswer
 

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?
 

n°1433900
galopin01
Posté le 30-08-2006 à 18:10:39  profilanswer
 

Re...
ça y est je viens de comprendre...  :D  
 
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+

n°1433911
acrosomia
Posté le 30-08-2006 à 18:32:35  profilanswer
 

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).


Message édité par acrosomia le 30-08-2006 à 18:36:22
n°1433912
galopin01
Posté le 30-08-2006 à 18:33:52  profilanswer
 

...
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+


Message édité par galopin01 le 30-08-2006 à 18:35:28
n°1433913
galopin01
Posté le 30-08-2006 à 18:34:44  profilanswer
 

ça va tu t'en sortira comme ça ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Lire les données d'une liste de validation

 

Sujets relatifs
SVP VENEZ LIRE : Petite Aide Jvs en priiiiecomment lire à l'envers un clip qui contient des actions 'Stop'
Récupérer les données dans une autre page [Résolu][JavaScript] Liste dynamique dans un formulaire SELECT
Tri sous Excel avec répartition des données dans des feuillesliste deroulante dans un etat access
liste déroulanteCréation d'une liste sans redondance
Ingniorer les fichiers donc l'extension n'est pas dans la listeGalerie vidéo considérée comme base de données?
Plus de sujets relatifs à : Lire les données d'une liste de validation


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR