Liste déroulante dans un userform

  • Initiateur de la discussion Initiateur de la discussion Icedarts
  • Date de début Date de début

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 !

Icedarts

XLDnaute Occasionnel
Bonsoir à tous,

J'ai vu beaucoup de discussion sur le forum qui traite du sujet mais impossible d'adapter.
Je ne comprends pas ce qu'il faut faire.

J'ai essayer de modifier Rowsources, j'ai téléchargé quelques classeurs du forum pour récupérer du code mais rien à faire je dois me rendre à l'évidence je suis encore trop novice en userform...

Donc voila en pièce jointe un classeur.
En feuille 1 quand on est en A1 l'userform se lance avec une liste déroulante vide.
Je souhaite avoir la liste en feuille 2 A2:A31.

Merci d'avance.
 

Pièces jointes

Re : Liste déroulante dans un userform

Hello,

Deux versions, sans et avec doublons.
Code:
Private Sub UserForm_Initialize()

    Dim x As Variant
    'Dim i As Integer
    
    x = Sheets("Feuil2").Range("A2:A" & Sheets("Feuil2").Range("A65536").End(xlUp).Row)
    ComboBox1.List = x


    'Ou pour éviter les doublons.. s'il y en a
    'With Sheets("Feuil2")
    '    For i = 2 To .Range("A65000").End(xlUp).Row
    '        If .Cells(i, 1) <> .Cells(i - 1, 1) Then
    '            ComboBox1.AddItem .Cells(i, 1).Value
    '        End If
    '    Next
    'End With

End Sub
EDIT : Oups Slt Gibe 🙂
 
Re : Liste déroulante dans un userform

Bonsoir à tous, merci pour vos réponses rapides.

Bonjour icedarts (c'est marrant quand on le traduit anglais -> français)
lol oui c'est fait exprès!

Bonsoir,

Sinon avec la propriété RowSource => Feuil2!A2:A31

On peut aussi y mettre une plage dynamique nommée.

A+

Comme je le disais dans mon message tout a l'heure ça ne fonctionnait pas...
Et maintenant ça fonctionne, je ne comprends pas!!!
C'est ce qu'il me semblait de plus simple
 
Re : Liste déroulante dans un userform

J'ai a nouveau le message d'erreur quand je rentre la liste dans les propriété rowsources.
L'userform est en feuil3 la liste en feuil1; je mets donc Feuil1!A2:A31 et j'ai ce message d'erreur:
Impossible de définir la propriété rowsource. Valeur de propriété non valide.

???
 
Re : Liste déroulante dans un userform

Bonsoir,

Voir PJ

Private Sub UserForm_Initialize()
Set f = Sheets("feuil2")
Me.ComboBox1.List = Range(f.[A2], f.[A65000].End(xlUp)).Value
End Sub

JB
 

Pièces jointes

Re : Liste déroulante dans un userform

Merci à tous,

toutes vos solutions fonctionnent merci, j'ai juste un problème avec les valeurs que je peux mettre dans RowSource....
Cette solution était la plus simple mais c'est pas grave on va en prendre une autre j'ai le choix!!! 😉
 
Re : Liste déroulante dans un userform

Non toujours le même message d'erreur...

Peut être que cela ne fonctionne dans le classeur que j'ai.
Il y a 6 feuilles beaucoup de macros, plusieurs userform...
Une incompatibilité???
Bref ne vous tracassez pas ça fonctionne avec du code :
Code:
Private Sub UserForm_Initialize()

    Dim x As Variant
    x = Sheets("Numéros licences").Range("A2:A" & Sheets("Numéros licences").Range("A65536").End(xlUp).Row)
    ComboBox1.List = x

End Sub
 
Re : Liste déroulante dans un userform

Re,

Effectivement RowSource n'accepte pas les espaces dans le nom de la feuille.

Mais avec Liste, pas de raison :

Code:
=DECALER([COLOR="Red"]'[/COLOR]Numéros licences[COLOR="Red"]'[/COLOR]!$A$2;;;NBVAL('Numéros licences'!$A:$A)-1)

A+
 
- 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
5
Affichages
387
Réponses
8
Affichages
668
Réponses
4
Affichages
243
Retour