[VBA] Procédure pour plusieurs UserForm
Résolu/Fermé
A voir également:
- [VBA] Procédure pour plusieurs UserForm
- Excel compter cellule couleur sans vba - Guide
- Mkdir vba ✓ - Forum VB / VBA
- Autofill vba ✓ - Forum Excel
- Vba range avec variable ✓ - Forum VB / VBA
- Le point d'entrée de procédure eventsetinformation est introuvable advapi32.dll - Forum Windows
6 réponses
Autant pour moi,
la réponse était simplement:
sub toto(formulaire,a,b)
formulaire.Controls("ComboBox" & b).AddItem i
end sub
avec appel (situé sur UserForm1):
Call UserForm2.toto(UserForm1, 1, 2)
(on passe le formulaire, le numéro des combobox utilisées en paramètre)
Merci pour votre aide en tous les cas.
la réponse était simplement:
sub toto(formulaire,a,b)
formulaire.Controls("ComboBox" & b).AddItem i
end sub
avec appel (situé sur UserForm1):
Call UserForm2.toto(UserForm1, 1, 2)
(on passe le formulaire, le numéro des combobox utilisées en paramètre)
Merci pour votre aide en tous les cas.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
30 mai 2009 à 01:28
30 mai 2009 à 01:28
Bonsoir,
essaie comme ça :
Sub appel()
Call test(UserForm1)
Call test(UserForm2)
End Sub
Sub test(form)
form.ComboBox1.AddItem "toto"
End Sub
en nommant ton combobox ComboBox1 dans tous les formulaires.
eric
essaie comme ça :
Sub appel()
Call test(UserForm1)
Call test(UserForm2)
End Sub
Sub test(form)
form.ComboBox1.AddItem "toto"
End Sub
en nommant ton combobox ComboBox1 dans tous les formulaires.
eric
Merci pour ta réponse,
le hic c'est que j'utilise 2 combobox par userform qui n'ont pas les meme noms, je les passe donc en parametre comme le nom du formulaire, mais cela ne fonctionne pas
le hic c'est que j'utilise 2 combobox par userform qui n'ont pas les meme noms, je les passe donc en parametre comme le nom du formulaire, mais cela ne fonctionne pas
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
30 mai 2009 à 11:03
30 mai 2009 à 11:03
Bonjour,
comme ça peut-etre alors :
For Each Control In UserForm1.Controls
If Control.Name = "ComboBox1" Or Control.Name = "ComboBox2" Then
'...additem
End If
Next Control
ou tu utilises la propriété tag des controles concernés et tu testes dessus...
eric
comme ça peut-etre alors :
For Each Control In UserForm1.Controls
If Control.Name = "ComboBox1" Or Control.Name = "ComboBox2" Then
'...additem
End If
Next Control
ou tu utilises la propriété tag des controles concernés et tu testes dessus...
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
30 mai 2009 à 11:14
30 mai 2009 à 11:14
Bonjour, Bonjour Eric,
Passe ton combo directement en paramètre, le parent sera pris en compte,
A mettre dans un module général (Module1 par exemple).
Exemple d'appel..
A+
Passe ton combo directement en paramètre, le parent sera pris en compte,
Sub Test( C as ComboBox) C.Additem.....
A mettre dans un module général (Module1 par exemple).
Exemple d'appel..
Test LeNomDuCombo
A+
Merci pour votre aide,
Sachant que cela: form.ComboBox1.AddItem "toto" (form étant une variable passée en paramètre) fonctionne parfaitment, il n'est pas possible de faire quelque chose du genre:
form.ComboBox(a).AddItem "toto" avec form et a passés en paramètre ?
cela me parait étonnant car relativement simple et logique...
Quelqu'un aurait il une réponse (positive ou négative^^) ?
Sachant que cela: form.ComboBox1.AddItem "toto" (form étant une variable passée en paramètre) fonctionne parfaitment, il n'est pas possible de faire quelque chose du genre:
form.ComboBox(a).AddItem "toto" avec form et a passés en paramètre ?
cela me parait étonnant car relativement simple et logique...
Quelqu'un aurait il une réponse (positive ou négative^^) ?