Listebox

Résolu
Signaler
Messages postés
20
Date d'inscription
lundi 4 juin 2007
Statut
Membre
Dernière intervention
15 septembre 2007
-
Messages postés
46
Date d'inscription
samedi 25 mars 2006
Statut
Membre
Dernière intervention
7 juin 2007
-
Bonjour,
J'ai juste un petit souci qui ne devrait pas être difficile à résoudre :
alors voilà j'aimerais éxecuter une macro quand je clique sur un choix de ma ListeBox.

voilà ce que ça donne dans le cas général :

Sub Zonecombinée77_QuandChangement()
Nom_de_ma_macro
End Sub

Il faudrait que le code entré dans VBA me permette d'éxecuter telle ou telle macro selon le choix effectué dans ma ListeBox. (la listebox fonctionne-t-elle selon les chiffres attribués aux différents choix ???)
Merci de vos réponses !

15 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Tu peux essayer un truc du style

Sub Zonecombinée1_QuandChangement()
   Select Case ActiveSheet.DropDowns(1).List(ActiveSheet.DropDowns(1).Value)
       Case "Toto": TaMacro1
       Case "Tata": TaMacro2
   End Select
End Sub , ----
[code.aspx?ID=41455 By Renfield]

Le seul problème que je n'ai pas encore résolu, c'est pour trouver l'indice (1) représentant le DropDown Zonecombinée1
J'ai essayer de passer le nom à la collection DropDowns mais VBA m'a insulté.

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Salut il faut faire ça en fonction de l'item sélectionné utilise Select case ou des if , elseif mais le case est mieux.

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)

Si la réponse vous convient: Réponse acceptée < body>
Messages postés
20
Date d'inscription
lundi 4 juin 2007
Statut
Membre
Dernière intervention
15 septembre 2007

ça me donnerait quoi en code VBA ?
Je ne vois pas trop comment faire là !
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
ou encore utiliser un Call ByName (si VBA le permet).
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Private Sub CommandButton1_Click()


Select Case ListBox1.Value


Case "1"


MsgBox "Elément 1 sélectinné"


Case "2"


MsgBox "Elément 2 sélectinné"


Case "3"


MsgBox "Elément 3 sélectinné"


Case Else


MsgBox "Aucun élément sélectinné"


End Select


End Sub


Private Sub UserForm_Initialize()


ListBox1.AddItem "1"
ListBox1.AddItem "2"
ListBox1.AddItem "3"


End Sub

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)

Si la réponse vous convient: Réponse acceptée < body>
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Ha oui c'est vrai que c'est sur une feuille excel!

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)

Si la réponse vous convient: Réponse acceptée < body>
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Elle est pas multiselect au moins?

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)

Si la réponse vous convient: Réponse acceptée < body>
Messages postés
20
Date d'inscription
lundi 4 juin 2007
Statut
Membre
Dernière intervention
15 septembre 2007

Oui c'est sur excel, non je ne pense pas qu'elle soit multiselect !
Avec ceci on y est presque :

Sub Zonecombinée1_QuandChangement()
   Select Case ActiveSheet.DropDowns(1).List(ActiveSheet.DropDowns(1).Value)
       Case "Toto": TaMacro1
       Case "Tata": TaMacro2
   End Select
End Sub

Donc voilà ! Reste à affiner
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
>[auteurdetail.aspx?ID=786090 Drikce06]: Rappel le controle est de type DropDown....

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Et si l'on utilisait le sosub ?
du genre :

Private Sub Command1_Click()
  monindex = 2
  On toto GoSub titi, tata, tot
titi:     MsgBox "titi": Exit Sub
tata:    MsgBox "tata": Exit Sub
tot: MsgBox "tot": Exit Sub
End Sub

où il suffit de remplacer monindex par l'index sélectionné dans la Liste et les msgbox par l'appel d'une macro, non ?
Messages postés
20
Date d'inscription
lundi 4 juin 2007
Statut
Membre
Dernière intervention
15 septembre 2007

Merci donc je ne sais pas pourquoi mais maintenant ça marche nickel, merci à vous !
Messages postés
46
Date d'inscription
samedi 25 mars 2006
Statut
Membre
Dernière intervention
7 juin 2007

Bonjour, je me permet un petit post dans votre discussion passionnante

Private Sub ListBox1_Click()

Ca = ListBox1.ListIndex
    select case Ca
       Case 0
          TaMacro1
       Case 1
           TaMacro2
    end select
   
End Sub

En espérant être en cible

MAXIMO71
PS Si la réponse vous satistait
pensez à la valider
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
>[auteurdetail.aspx?ID=729900 MAXIMO71]: En fait les contrôles utilisés ne sont pas les contrôles classiques, dans notre cas, ici c'est une zone de liste modifiable insérée DIRECTEMENT sur la feuille depuis a barre d'outils formulaires. Au début nous pensions ListBox ou ComboBox, mais en Fait c'est un DropDown.... Essaei avec Excel si tu le possèdes tu verras c'est la galère.

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
46
Date d'inscription
samedi 25 mars 2006
Statut
Membre
Dernière intervention
7 juin 2007

Ok merci je test demain dsl pour ma présomption, sympa ta réponse.
A+

MAXIMO71
PS Si la réponse vous satistait
pensez à la valider
Messages postés
46
Date d'inscription
samedi 25 mars 2006
Statut
Membre
Dernière intervention
7 juin 2007

Re bonsoir, je viens de tester votre affaire la propose de Pimouss3 fonctionne chez moi bonne soiree

MAXIMO71
PS Si la réponse vous satistait
pensez à la valider