remplire un combobox dynamique 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 !

francois91

XLDnaute Occasionnel
bonjour,
j'ai créé une boucle pour faire des comboboxs mais je n'arrive pas à créer de liste pour ceux-ci, d'habitude j'utilise "ComboBox1.RowSource = "Feuil3!B2:B8" & ActiveSheet.UsedRange.Rows.Count" mais la il faudrait remplacer 1 par un i dans ma boucle puisque le nombre de combobox est indéterminé
et j ai le même problème pour lier mes textbox avec mes spinbutton car je ne peux pas placer

"
Private Sub SpinButton1_Change()
TextBox1 = SpinButton1.Value
End Sub
"
dans "Private Sub UserForm_Initialize()"

j'espére avoir été assé claire...🙂
merci de votre aide.
 
Dernière édition:
Re : remplire un combobox dynamique en VBA

bonjours,
Tout d'abord j te remercie pour le grand service que tu viens de me rendre😀, mais il reste le probléme des spinbuttons DYNAMIQUE g essayé de les nommer "spinbutton1" ,2 ,3 et en suite g créé une 20ene de procédure (car le nombre de spin button ne dépassera pas 20)

Private Sub SpinButton1_Change()
TextBox1 = SpinButton1.Value
End Sub
.
.
.

mais aucun spinbutton ne fonction, si tu connais une formule pour associer les textbox au spinbutton sans private Sub
merci d'avance
 
Re : remplire un combobox dynamique en VBA

Re bonjour,

essaye:

Private Sub SpinButton1_Change()
TextBox1.Text = SpinButton1.Value
End Sub

Il faut aussi que tu "alimentes" le Spinbutton dans l'évenement "Initialise" du USF.
Exemple:

Code:
Private Sub UserForm_Initialize()
    With SpinButton1
        .Min = 1
        .Max = 100
    End With

End Sub
 
Re : remplire un combobox dynamique en VBA

Salut,
Encore merci scoobi, mais malheureusement mes spinbuttons ne fonctionnent toujours pas, je ne sais pas pourquoi.
Je les ai "alimenté" et g rajouté .text mais ca ne fonctionne toujours pas comme si dans les commandes type:

Private Sub SpinButton1_Change()
TextBox1.Text = SpinButton1.Value
End Sub

il ne reconnaissait pas soit le Spinbutton1 ou/et textbox1 que j ai créé dynamiquement pourtant g bien mis:

Set Obj = Me.Controls.Add("forms.textbox.1")
With Obj
.name = "TextBox" & i
...

et il me les crée(le bon nombre au bonne endroit) quand je teste
merci d'avance
 
Dernière édition:
Re : remplire un combobox dynamique en VBA

Re bonjour,
je ne sais pas pourquoi, je les ai "alimenté"

Le spinbutton ressemble à un combobox ou listbox sauf que la liste est cachée, tu vois ce que je veux dire?
Donc, si la liste du spinbutton est vide, écrire TextBox1.Text = SpinButton1.Value n'affichera rien dans le textbox.
 
Re : remplire un combobox dynamique en VBA

re bonjour,
Je pense qu on s'est mal compris je sais que le spin doit être alimenté cependant malgrés fait que je donne à mes spinbuttons et et mes textbox les bon nom et que je les alimente la commande:

Private Sub SpinButton1_Change()
TextBox1.Text = SpinButton1.Value
End Sub

ne change rien🙁

tiens si tu veux essayer:

Private Sub UserForm_Initialize()

Dim i As Integer
Dim Obj As Control

n = Worksheets("feuil2").Cells(2, 1)

With Me
.width = 330
.height = 50 + n * 20
End With

Set Collect = New Collection

For i = 1 To 3 'boucle pour la création des ..

Set Obj = Me.Controls.Add("forms.textbox.1")
With Obj
.name = "TextBox" & i
.left = 285
.top = 20 * i
.width = 20
.height = 15
End With

Set Obj = Me.Controls.Add("forms.SpinButton.1")
With Obj
.name = "SpinButton" & i
.left = 305
.top = 20 * i - 2.5
.width = 16
.height = 18
.Min = 1 🙂
.Max = 100

End With

Controls("TextBox" & i) = 2 'initialisation des textbox
Controls("Combobox" & i).RowSource = "Feuil3!B2:B8"

Next i

End Sub

Private Sub SpinButton1_Change()
TextBox1.text = SpinButton1.Value
End Sub
Private Sub SpinButton2_Change()
TextBox2.text = SpinButton1.Value
End Sub
Private Sub SpinButton3_Change()
TextBox3.text = SpinButton1.Value
End Sub
Private Sub SpinButton4_Change()
TextBox4.text = SpinButton1.Value
End Sub
 
Dernière édition:
Re : remplire un combobox dynamique en VBA

Re,

La synthaxe des "Private Sub SpinButton...." doit être différente lorsque les controles sont créés à l'execution du USF.
Je ne la connais pas et mon livre est au boulo.
Merci de dire si tu as trouvé.

Bonjour skoobi et le forum,
je me permet de mettre ce post ou il se dois
excuser moi si je fait une erreur, mais il m'est pas adresser !!
 
Re : remplire un combobox dynamique en VBA

Re,

Ci-joint un exemple de création des controles + évenements des controles d'un USF (adapté à ton besoin).
Le bouton "USF auto" crés les controles et les codes évenements de l'USF (vide de tous codes et controles au départ) et ouvre ce dernier.

Pour que celà fonctionne, il faut vérifier que "Faire confiance au projet visual basic" soit coché dans l'onglet "éditeurs approuvés" sous outils - macro - sécurité.

Bon courage et bon week-end.
 

Pièces jointes

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

P
  • Question Question
Réponses
6
Affichages
1 K
P
P
  • Question Question
Réponses
0
Affichages
940
Pieerre69
P
H
Réponses
19
Affichages
7 K
Réponses
1
Affichages
658
N
Réponses
23
Affichages
5 K
D
Réponses
6
Affichages
2 K
D
W
Réponses
8
Affichages
4 K
wolf2012
W
M
Réponses
0
Affichages
955
MIMI28CG
M
O
Réponses
1
Affichages
2 K
O
S
Réponses
5
Affichages
1 K
Sidah.med
S
R
Réponses
0
Affichages
2 K
rascsax
R
H
Réponses
7
Affichages
3 K
H
Retour