[Résolu] Recupération valeur d'une combobox créée par VBA

lechti31

XLDnaute Occasionnel
Bonjour
J'ai sur une feuille excel un bouton qui me permet d'ouvrir un Userform et d'y créer un nombre de textbox et combobox par rapport à une valeur dans la feuille excel.
Sur ce userform, j'ai un bouton pour récuperer les valeurs que je rentre manuellement dans les Combobox
Mon soucis est que je ne sais pas comment on récuperer les valeurs des combobox créées par VBA.
Ci-joint mon fichier
Merci pour votre aide
 

Pièces jointes

  • essai, creation label avec vba.xlsm
    26.9 KB · Affichages: 39

vgendron

XLDnaute Barbatruc
Hello

un essai en remplacant tout ton code USF par celui ci
VB:
Private Sub CommandButton1_Click()

With Sheets("Feuil2")
    For i = 1 To 5
        .Range("A" & .Rows.Count).End(xlUp).Offset(1, 0) = Me.Controls("textrad" & i - 1)
        .Range("A" & .Rows.Count).End(xlUp).Offset(0, 1) = Me.Controls("CB" & i - 1)
    Next i
End With

End Sub

Private Sub UserForm_initialize()
b = Sheets("feuil1").Cells(1, 1).Value
For i = 1 To b 'Création des labels avec les noms de la feuille
    Set rad = UserForm1.Controls.Add("forms.Label.1")
    With rad
        nom = "textrad" & i - 1
        .Name = nom
        .Left = 138
        .Top = 159 + i * 30
        .Width = 140
        .Height = 24
        .Caption = Sheets("feuil1").Cells(i, 4).Value
        .TextAlign = 2
    End With
Next i
For i = 1 To b 'création des Combobox
    Set rad = UserForm1.Controls.Add("forms.combobox.1")
    With rad
        .Name = "CB" & i - 1
        .Left = 300
        .Top = 153 + i * 30
        .Width = 140
        .Height = 20
        .Value = Sheets("feuil1").Cells(i, 5).Value
        .TextAlign = 2
    End With
Next i
End Sub

'https://forum.hardware.fr/hfr/Programmation/VB-VBA-VBS/creation-textbox-dynamique-sujet_104861_1.htm
 

lechti31

XLDnaute Occasionnel
Bonjour
Merci vgendron ca fonctionne nickel
J'ai une autre requete, sur la feuille 3 j'ai le choix avec plusieurs couleurs, suivant la couleur choisi j'ai plusieurs choix de points associés.
Comment je peux faire pour avoir dans le premier combobox le choix des couleurs, et ensuite dans un second avoir le choix des points associés a la couleur choisit.
Je sais le faire avec des combobox directement mis sur le Userform, mais pas dans les combobox créés par VBA.
Merci de ton aide
 

Pièces jointes

  • essai, creation label avec vba.xlsm
    28 KB · Affichages: 36

vgendron

XLDnaute Barbatruc
Hello
il faut pouvoir détecter une sélection (evènement change) d'un combobox du formulaire pour mettre à jour la liste de chiffre en fonction de la couleur sélectionnée.

la difficulté, c'est qu'ils ont été créés de manière dynamique.. ==>il faut donc aller voir du coté des modules de classe.

Pour l'instant, pas trop le temps..
va voir par la
https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-F

ou ici
https://www.developpez.net/forums/d...e-combobox-cree-dynamiquement-controls-event/
 

Discussions similaires

Statistiques des forums

Discussions
311 734
Messages
2 082 020
Membres
101 872
dernier inscrit
Colin T