Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Liste déroulante en VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

litelsousa

XLDnaute Occasionnel
Bonjour,

Comment fait-on en VBA pour qu'une liste déroulante contienne les différents noms d'une plage (se nommant en l'occurrence "Liste_instrument")?

Pour l'instant, j'utilise ça:

Private Sub UserForm_Initialize()
Me.Nom_instrument.RowSource = "Feuil1!A49:A56"
End Sub

Mais quand je rajoute des lignes plus haut que cette plage, ma liste déroulante ne contient plus ce que je veux.

J'aimerais changer "Feuil1!A49:A56" par "liste_instrument"

En espérant être compréhensible, je vous remercie pour votre aide.
 
Re : Liste déroulante en VBA

Bonjour à tous,

J'avoue que j'ai beaucoup de mal à comprendre !

Ce qui est sûr, c'est que si l'on nome une plage "Feuil1!A49:A56" en "liste_instrument", si cette plage doit être modifiée (exemple :"Feuil1!A10:A56"), il faut également faire la modification de "liste_instrument" en "Feuil1!A10:A56" qui est restée "Feuil1!A49:A56" !!!

De la logique en quelque sorte !

bonne journée !
 
Re : Liste déroulante en VBA

Re : Bonjour,

Peut-être comme ceci si j'ai bien compris :

Sub Action ()
Dim vCellule As Object
Load UserForm1

For Each vCellule In Sheets("Types").Range("liste_instrument")
If vCellule.value="" Then Exit For
UserForm1.CmbListeTypes.AddItem vCellule.value
Next

UserForm1.CmbListeTypes.ListIndex =0
UserForm1.Show
End Sub

A adapter aux différentes nominations du fichier !
voir fichier !
La Range("liste_instrument") a été sélectionnée de L9 à L19 ( pas de cellule vide en haut de la 1ere cellule )

@+
 

Pièces jointes

Dernière édition:
Re : Liste déroulante en VBA

Je sais j'ai du mal à expliquer, c'est toujours mon soucis 🙁

Le truc, c'est que ma plage "Liste instrument" passe automatiquement de "Feuil1!A49:A56" en "Feuil1!A50:A57" si j'insère une ligne, par exemple après la ligne 10.

C'est pour cela que j'aimerais utiliser le nom "Liste_instrument" à la place de "Feuil1!A49:A56" dans le VBA.
 
Re : Liste déroulante en VBA


Essai ceci !

voir fichier !
 

Pièces jointes

Dernière édition:
Re : Liste déroulante en VBA

Oups, tu m'as devancé...

J'ai donc mis comme ça🙁c'est ma feuille User2Form)

Sub Action()
Dim vCellule As Object
Load UserForm1

For Each vCellule In Sheets("Types").Range("liste_instrument")
If vCellule.Value = "Feuil1!A49:A56" Then Exit For
UserForm2.CmbListeTypes.AddItem vCellule.Value
Next

UserForm2.CmbListeTypes.ListIndex = 0
UserForm2.Show
End Sub

mais ça ne donne rien
 
Re : Liste déroulante en VBA

Non, je n'arrive pas.

Voilà ce que j'ai mis:


Je suis désolé, c'est mon premier essais avec le VBA
 
Re : Liste déroulante en VBA


Erreur : If vCellule.Value = "Feuil1!A49:A56" Then Exit For il faut >> If vCellule.Value = " " Then Exit For

Et puis il faut suivre l'exemple du fichier en renommant la feuille et la liste déroulante s'il le faut !
 
Re : Liste déroulante en VBA

Voilà,

C'est donc quand je clique sur "nouveau membre" et qu'il y a déjà une ligne de rajoutée... (pour l'instant je suis obligé de me mettre là ou j'insère les donné... Ce sera ma prochaine étape😱)
 

Pièces jointes

Re : Liste déroulante en VBA

C'est parfait, Merci!!!!

Je l'ai remis sur la même feuille car le chef veut voir direct le nombre de présent...

En effet, je me suis permit de mettre le résultat en feuille 2 compte tenu que celle-ci allait gêner la saisie de la feuille 1

Néanmoins, Il convient de modifier ce qui est en gras !

Sub Nouveau_membre()
Dim vCellule As Object
Load UserForm2

For Each vCellule In Sheets("Feuil2").Range("liste_instrument")
If vCellule.Value = "" Then Exit For
UserForm2.Nom_instrument.AddItem vCellule.Value
Next

UserForm2.Nom_instrument.ListIndex = 0
UserForm2.Show
End Sub

Et d'adapter la référence : liste_instrument

bonne journée à tous !
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
866
T
Réponses
2
Affichages
1 K
TrXtan
T
G
  • Question Question
Réponses
2
Affichages
644
gaelle31
G
T
Réponses
2
Affichages
2 K
Tibooo
T
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…