ComboBox liste déroulante dans un formulaire
Résolu
patscaph
-
patscaph -
patscaph -
Bonjour,
'' Question qui d'après moi s'addresse à des connaisseurs un peu pas mal spécialisé.
' Cette procédure cherche à intégrer des valeurs (texte ou autre)dans un objet
' de type 'Combobox' liste déroulante selon une instruction iterrative liée à un
' nombre de ligne à déterminer. J'ai bien une amorce de solution ci-bas décrite
' mais elle insère seulement la première ligne de la liste et pas le reste.????
' Quelqu'un aurait-il la solution à mon problème?
' MERCI
' Mise en Contexte:
' La procédure ci-bas s'active automatiquement lorsque le formulaire1 est demandé par
' la commande "Show"
' Elle fonctionne donc à l'intérieur d'un FORMULAIRE et vise à prendre
' les valeurs contenues à plusieurs ligne dans la sheet "Feuil1" dans la colonne "A".
' Le tout débutant à la ligne 2. Position de départ A2. Comme je ne connais pas le
' nombre d'information ou ligne à intégrer, je procède donc à
' une première étape soit de déterminer le nombre de ligne "nblign" en présence.
' Par la suite j'utilise cette référence ''nblign'' pour faire tourner en boucle l'entrée
' des valeurs ou textes dans la liste déroulante que je tente de créer COMBOBOX.
' Actuellement de cette manière seul le contenu de la première cellule
' apparaît dans la liste déroulante mais pourquoi?
' Alors je souhaite voir aussi tous les autres textes contenues dans la colonne pour
' construire ma liste dérolante (Combobox).
Private Sub UserForm_Activate()
Dim i As Integer, nblign As Integer
Dim c As Range
Sheets("Feuil1").Select
''''Calcul le nombre de ligne non vide dans la colonne A
nblign = 1
While Range("A2").Offset(nblign, 0).Value <> Empty
nblign = nblign + 1
Wend
nblign = nblign - 1
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set c = Range("a2")
i = 1
While i <> nblign
'''''''''''''''''''''''''''''''''''''''''''''''
''Est-ce que cette procédure est bonne pour mon besoin?
ComboBox2.AddItem (Cells(i).Value)
i = i + 1
Wend
End Sub
'' Question qui d'après moi s'addresse à des connaisseurs un peu pas mal spécialisé.
' Cette procédure cherche à intégrer des valeurs (texte ou autre)dans un objet
' de type 'Combobox' liste déroulante selon une instruction iterrative liée à un
' nombre de ligne à déterminer. J'ai bien une amorce de solution ci-bas décrite
' mais elle insère seulement la première ligne de la liste et pas le reste.????
' Quelqu'un aurait-il la solution à mon problème?
' MERCI
' Mise en Contexte:
' La procédure ci-bas s'active automatiquement lorsque le formulaire1 est demandé par
' la commande "Show"
' Elle fonctionne donc à l'intérieur d'un FORMULAIRE et vise à prendre
' les valeurs contenues à plusieurs ligne dans la sheet "Feuil1" dans la colonne "A".
' Le tout débutant à la ligne 2. Position de départ A2. Comme je ne connais pas le
' nombre d'information ou ligne à intégrer, je procède donc à
' une première étape soit de déterminer le nombre de ligne "nblign" en présence.
' Par la suite j'utilise cette référence ''nblign'' pour faire tourner en boucle l'entrée
' des valeurs ou textes dans la liste déroulante que je tente de créer COMBOBOX.
' Actuellement de cette manière seul le contenu de la première cellule
' apparaît dans la liste déroulante mais pourquoi?
' Alors je souhaite voir aussi tous les autres textes contenues dans la colonne pour
' construire ma liste dérolante (Combobox).
Private Sub UserForm_Activate()
Dim i As Integer, nblign As Integer
Dim c As Range
Sheets("Feuil1").Select
''''Calcul le nombre de ligne non vide dans la colonne A
nblign = 1
While Range("A2").Offset(nblign, 0).Value <> Empty
nblign = nblign + 1
Wend
nblign = nblign - 1
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set c = Range("a2")
i = 1
While i <> nblign
'''''''''''''''''''''''''''''''''''''''''''''''
''Est-ce que cette procédure est bonne pour mon besoin?
ComboBox2.AddItem (Cells(i).Value)
i = i + 1
Wend
End Sub
A voir également:
- Combobox vba liste déroulante dynamique
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Tableau croisé dynamique - Guide
- Supprimer liste déroulante excel ✓ - Forum Excel
- Liste déroulante google sheet - Accueil - Guide bureautique
4 réponses
Bonsoir,
Essaie quelque chose dans ce style (en indiquant le nom de l'onglet)
Bon courage
Essaie quelque chose dans ce style (en indiquant le nom de l'onglet)
Private Sub UserForm_Initialize() Dim I As Long, DerLig As Long With Sheets("Feuil1") 'Ici, il faut mettre le bon nom de l'onglet DerLig = .Cells(Rows.Count, 1).End(xlUp).Row For I = 2 To DerLig Me.ComboBox1.AddItem .Cells(I, 1).Value Next I End With End Sub
Bon courage