Menu déroulant dynamique

Accueil – Le CFO masqué Forums VBA Menu déroulant dynamique

  • Ce sujet contient 3 réponses, 2 participants et a été mis à jour pour la dernière fois par Lionel, le il y a 2 années et 9 mois.
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Articles
  • #75856
    Pimpin
    Participant

    Bonjour,

    Je voudrais créer un menu déroulant dynamique pour ma TEXTBOX1.
    J’ai pu faire un menu déroulant mais il ne s’arrête pas à la dernière
    valeur de mon tableau, et me laisse des espaces blancs.
    Merci pour votre aide.

    #76028
    Lionel
    Participant

    Salut Pimpin,
    Ce n’est pas un Combobox que tu veux remplir. Voici un code pour le remplir avec les données de la colonnes A en évitant les doublons.

    Private Sub UserForm_Initialize()
        Dim j As Integer
        
        'Récupère les données de la colonne A...
        For j = 2 To Sheets("Feuil1").Range("A65536").End(xlUp).Row
            ComboBox1 = Sheets("Feuil1").Range("A" & j)
            '...et filtre les doublons
            If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Range("A" & j)
        Next j
    End Sub

    Pour te perfectionner voici un peu de lecture : https://silkyroad.developpez.com/VBA/ControlesUserForm/#LI

    Attachments:
    You must be logged in to view attached files.
    #76112
    Pimpin
    Participant

    Re

    J’ai commencé à taper ta ligne :

    Private Sub UserForm_Initialize()

    Dim j As Integer

    for j=2 to sheets(“Feuil1”).range(“a65536).end(xlup).row

    Et ça m’a affiché Erreur de syntaxe ?

    Merci pour tes lumières…

    #76130
    Lionel
    Participant

    Je vois que tu as déjà oublié un guillemet. Le plus simple est de faire un copier-coller du code et ensuite, de modifier en fonction de tes données ; colonne, ligne…

    Private Sub UserForm_Initialize()
        Dim j As Integer
        
        'Récupère les données de la colonne A...
        For j = 2 To Sheets("Feuil1").Range("A1").End(xlDown).Row
            ComboBox1 = Sheets("Feuil1").Range("A" & j)
            '...et filtre les doublons
            If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Range("A" & j)
        Next j
    End Sub
4 sujets de 1 à 4 (sur un total de 4)
  • Vous devez être connecté pour répondre à ce sujet.