Remplir listbox depuis control combobox
Résolu/Fermé
hind
-
15 oct. 2013 à 11:40
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 15 oct. 2013 à 14:17
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 15 oct. 2013 à 14:17
A voir également:
- Remplir listbox multicolonne vba excel
- Liste déroulante excel - Guide
- Formule excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Remplir et signer pdf - Guide
2 réponses
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
15 oct. 2013 à 13:43
15 oct. 2013 à 13:43
Bonjour,
un exemple avec des plages de cellules nommées:
https://www.cjoint.com/c/CJpnQ4EQsrc
un exemple avec des plages de cellules nommées:
https://www.cjoint.com/c/CJpnQ4EQsrc
melanie1324
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
15 oct. 2013 à 13:44
15 oct. 2013 à 13:44
Bonjour,
ce n'est pas compliqué à le faire.
Le plus simple serait de mettre ton fichier sur cjoint.com et tu mets le lien ici.
Mais voici l'idée.
imaginons que ton tableau est en feuille 1 et commence la première ligne
:
A B C
scenariotype1 scenariotype2 scenariotype3 ....
euro euro euro
CAD usd
GBP ....
AUD
dans ton formulaire, faut écrire une macro :
sub combobox_scénariotype_change 'le nom de ta combobox suivi de _change
listbox1.clear 'remplace listbox1 par le nom de ta listbox
' en fonction du choix de la combobox, on va cibler la colonne où se trouve les valeurs que tu veux afficher dans ta listbox
if combobox_scénariotype = "scénariotype1" then
col=1
else
if combobox_scénariotype = "scénariotype2" then
col=2
else
if combobox_scénariotype = "scénariotype3" then
col=3
end if
end if
end if
ligne = 2
'là on va rajouter toutes tes valeurs de ta listbox en fonction de la colonne définie précédemment
do while sheets(1).cells(ligne,col) <> ""
listbox1.additem cells(ligne,col)
ligne= ligne +1
loop
ens sub
ce n'est pas compliqué à le faire.
Le plus simple serait de mettre ton fichier sur cjoint.com et tu mets le lien ici.
Mais voici l'idée.
imaginons que ton tableau est en feuille 1 et commence la première ligne
:
A B C
scenariotype1 scenariotype2 scenariotype3 ....
euro euro euro
CAD usd
GBP ....
AUD
dans ton formulaire, faut écrire une macro :
sub combobox_scénariotype_change 'le nom de ta combobox suivi de _change
listbox1.clear 'remplace listbox1 par le nom de ta listbox
' en fonction du choix de la combobox, on va cibler la colonne où se trouve les valeurs que tu veux afficher dans ta listbox
if combobox_scénariotype = "scénariotype1" then
col=1
else
if combobox_scénariotype = "scénariotype2" then
col=2
else
if combobox_scénariotype = "scénariotype3" then
col=3
end if
end if
end if
ligne = 2
'là on va rajouter toutes tes valeurs de ta listbox en fonction de la colonne définie précédemment
do while sheets(1).cells(ligne,col) <> ""
listbox1.additem cells(ligne,col)
ligne= ligne +1
loop
ens sub
merci pour le retour rapide
en effet ,c'est ce qui me faut mais comment tu déclare la variable col et lig au debut ?
car moi au moment du IF combobox_scenario= "scenario1" je voulais faire reference à la cellule directement pour que cela reste dynamique et ne pas saisir a la main
je suis au bureau je n'arrive pas à mettre le fichier en piece jointe mais je le ferais des ce soir
si en attendant vous avez des idées mettez les moi en copie dans la réponse
un grand merci
en effet ,c'est ce qui me faut mais comment tu déclare la variable col et lig au debut ?
car moi au moment du IF combobox_scenario= "scenario1" je voulais faire reference à la cellule directement pour que cela reste dynamique et ne pas saisir a la main
je suis au bureau je n'arrive pas à mettre le fichier en piece jointe mais je le ferais des ce soir
si en attendant vous avez des idées mettez les moi en copie dans la réponse
un grand merci
melanie1324
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
15 oct. 2013 à 14:08
15 oct. 2013 à 14:08
Coucou,
je comprends alors le code que tu peux appliquer :
sub combobox_scénariotype_change 'le nom de ta combobox suivi de _change
listbox1.clear 'remplace listbox1 par le nom de ta listbox
col= 1
do while cells(1, col) <> combobox_scénariotype.value
col=col+1
loop
ligne = 2
'là on va rajouter toutes tes valeurs de ta listbox en fonction de la colonne définie précédemment
do while sheets(1).cells(ligne,col) <> ""
listbox1.additem cells(ligne,col)
ligne= ligne +1
loop
ens sub
je comprends alors le code que tu peux appliquer :
sub combobox_scénariotype_change 'le nom de ta combobox suivi de _change
listbox1.clear 'remplace listbox1 par le nom de ta listbox
col= 1
do while cells(1, col) <> combobox_scénariotype.value
col=col+1
loop
ligne = 2
'là on va rajouter toutes tes valeurs de ta listbox en fonction de la colonne définie précédemment
do while sheets(1).cells(ligne,col) <> ""
listbox1.additem cells(ligne,col)
ligne= ligne +1
loop
ens sub
melanie1324
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
15 oct. 2013 à 14:17
15 oct. 2013 à 14:17
de rien mets le ren résolu alors stp.