Sur un Userform j'ai un Multipage de 2 pages.
Sur chacune de ces pages j'ai des ComboBox dont 2 (2 à 2) sont remplies des
mêmes éléments.
Dans le UserForm_Initialize je remplis les ComboBox les unes après les
autres.
Tout fonctionne parfaitement bien.
Cependant, je trouve que la répétition n'est pas très élégante.
Y a-t-il une approche qui me permettrait de remplir en même temps 2 ComboBox
de ces mêmes éléments ?
Pour mieux me faire comprendre, la ComboBox1 (sur la page1 du Multipage) est
remplie de la façon suivante, et pour la combobox5 (sur la page2 du
Multipage) je répète l'opération.
With ComboBox1
.AddItem "Choix Rang..."
.AddItem "1er"
.AddItem "2ème"
.AddItem "3ème"
.AddItem "4ème"
.AddItem "Dernier"
.ListIndex = 0
End With
Je n'ai pas trouvé de solution me permettant de remplir en même temps ces
combobox1 et combobox5 (With ComboBox1 and ComboBox5 ne fonctionne pas).
Ai-je mal cherché ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Le 31/03/20 à 07:40, Péhemme a écrit :
Bonjour à Tous, Sur un Userform j'ai un Multipage de 2 pages. Sur chacune de ces pages j'ai des ComboBox dont 2 (2 à 2) sont remplies des mêmes éléments. Dans le UserForm_Initialize je remplis les ComboBox les unes après les autres. Tout fonctionne parfaitement bien. Cependant, je trouve que la répétition n'est pas très élégante. Y a-t-il une approche qui me permettrait de remplir en même temps 2 ComboBox de ces mêmes éléments ? Pour mieux me faire comprendre, la ComboBox1 (sur la page1 du Multipage) est remplie de la façon suivante, et pour la combobox5 (sur la page2 du Multipage) je répète l'opération. With ComboBox1 .AddItem "Choix Rang..." .AddItem "1er" .AddItem "2ème" .AddItem "3ème" .AddItem "4ème" .AddItem "Dernier" .ListIndex = 0 End With Je n'ai pas trouvé de solution me permettant de remplir en même temps ces combobox1 et combobox5 (With ComboBox1 and ComboBox5 ne fonctionne pas). Ai-je mal cherché ? Merci d'avance de vos commentaires. Michel
Bonjour, Tu peux utiliser ceci : '------------------------------------- Dim Arr() Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier") With Me With .ComboBox1 .List = Application.Transpose(Arr) .ListIndex = 0 End With With .ComboBox5 .List = Application.Transpose(Arr) .ListIndex = 0 End With End With '------------------------------------- MichD
Le 31/03/20 à 07:40, Péhemme a écrit :
Bonjour à Tous,
Sur un Userform j'ai un Multipage de 2 pages.
Sur chacune de ces pages j'ai des ComboBox dont 2 (2 à 2) sont remplies
des mêmes éléments.
Dans le UserForm_Initialize je remplis les ComboBox les unes après les
autres.
Tout fonctionne parfaitement bien.
Cependant, je trouve que la répétition n'est pas très élégante.
Y a-t-il une approche qui me permettrait de remplir en même temps 2
ComboBox de ces mêmes éléments ?
Pour mieux me faire comprendre, la ComboBox1 (sur la page1 du Multipage)
est remplie de la façon suivante, et pour la combobox5 (sur la page2 du
Multipage) je répète l'opération.
With ComboBox1
.AddItem "Choix Rang..."
.AddItem "1er"
.AddItem "2ème"
.AddItem "3ème"
.AddItem "4ème"
.AddItem "Dernier"
.ListIndex = 0
End With
Je n'ai pas trouvé de solution me permettant de remplir en même temps
ces combobox1 et combobox5 (With ComboBox1 and ComboBox5 ne fonctionne
pas).
Ai-je mal cherché ?
Merci d'avance de vos commentaires.
Michel
Bonjour,
Tu peux utiliser ceci :
'-------------------------------------
Dim Arr()
Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier")
With Me
With .ComboBox1
.List = Application.Transpose(Arr)
.ListIndex = 0
End With
With .ComboBox5
.List = Application.Transpose(Arr)
.ListIndex = 0
End With
End With
'-------------------------------------
Bonjour à Tous, Sur un Userform j'ai un Multipage de 2 pages. Sur chacune de ces pages j'ai des ComboBox dont 2 (2 à 2) sont remplies des mêmes éléments. Dans le UserForm_Initialize je remplis les ComboBox les unes après les autres. Tout fonctionne parfaitement bien. Cependant, je trouve que la répétition n'est pas très élégante. Y a-t-il une approche qui me permettrait de remplir en même temps 2 ComboBox de ces mêmes éléments ? Pour mieux me faire comprendre, la ComboBox1 (sur la page1 du Multipage) est remplie de la façon suivante, et pour la combobox5 (sur la page2 du Multipage) je répète l'opération. With ComboBox1 .AddItem "Choix Rang..." .AddItem "1er" .AddItem "2ème" .AddItem "3ème" .AddItem "4ème" .AddItem "Dernier" .ListIndex = 0 End With Je n'ai pas trouvé de solution me permettant de remplir en même temps ces combobox1 et combobox5 (With ComboBox1 and ComboBox5 ne fonctionne pas). Ai-je mal cherché ? Merci d'avance de vos commentaires. Michel
Bonjour, Tu peux utiliser ceci : '------------------------------------- Dim Arr() Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier") With Me With .ComboBox1 .List = Application.Transpose(Arr) .ListIndex = 0 End With With .ComboBox5 .List = Application.Transpose(Arr) .ListIndex = 0 End With End With '------------------------------------- MichD
MichD
Bonjour, Tu peux utiliser ceci : '------------------------------------- Dim Arr() Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier") With Me With .ComboBox1 .List = Application.Transpose(Arr) .ListIndex = 0 End With With .ComboBox5 .List = Application.Transpose(Arr) .ListIndex = 0 End With End With '------------------------------------- MichD
On peut faire un peu plus court : '--------------------------------------- Dim Arr(), Arr1(),Elt As Variant Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier") Arr1 = Array("Combobox1", "Combobox2") For Each Elt In Arr1 With Me.Controls(Elt) .List = Application.Transpose(Arr) .ListIndex = 0 End With Next '--------------------------------------- MichD
Bonjour,
Tu peux utiliser ceci :
'-------------------------------------
Dim Arr()
Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier")
With Me
With .ComboBox1
.List = Application.Transpose(Arr)
.ListIndex = 0
End With
With .ComboBox5
.List = Application.Transpose(Arr)
.ListIndex = 0
End With
End With
'-------------------------------------
MichD
On peut faire un peu plus court :
'---------------------------------------
Dim Arr(), Arr1(),Elt As Variant
Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier")
Arr1 = Array("Combobox1", "Combobox2")
For Each Elt In Arr1
With Me.Controls(Elt)
.List = Application.Transpose(Arr)
.ListIndex = 0
End With
Next
'---------------------------------------
Bonjour, Tu peux utiliser ceci : '------------------------------------- Dim Arr() Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier") With Me With .ComboBox1 .List = Application.Transpose(Arr) .ListIndex = 0 End With With .ComboBox5 .List = Application.Transpose(Arr) .ListIndex = 0 End With End With '------------------------------------- MichD
On peut faire un peu plus court : '--------------------------------------- Dim Arr(), Arr1(),Elt As Variant Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier") Arr1 = Array("Combobox1", "Combobox2") For Each Elt In Arr1 With Me.Controls(Elt) .List = Application.Transpose(Arr) .ListIndex = 0 End With Next '--------------------------------------- MichD
Péhemme
Mon cher Denis, Tu m'étonneras toujours. :-))) Pour moi, réponse drôle et inattendue... Cela a de "la gueule"... Formidable. Je l'adopte et l'applique également pour ma deuxième paire de ComboBox. Dois-je te dire merci ? :-))) Heureusement que tu n'as pas raccroché, tu peu encore servir. :-) Merci encore Bien amicalement Michel "MichD" a écrit dans le message de groupe de discussion : r5vfvp$409$
Bonjour, Tu peux utiliser ceci : '------------------------------------- Dim Arr() Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier") With Me With .ComboBox1 .List = Application.Transpose(Arr) .ListIndex = 0 End With With .ComboBox5 .List = Application.Transpose(Arr) .ListIndex = 0 End With End With '------------------------------------- MichD
On peut faire un peu plus court : '--------------------------------------- Dim Arr(), Arr1(),Elt As Variant Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier") Arr1 = Array("Combobox1", "Combobox2") For Each Elt In Arr1 With Me.Controls(Elt) .List = Application.Transpose(Arr) .ListIndex = 0 End With Next '--------------------------------------- MichD
Mon cher Denis,
Tu m'étonneras toujours.
:-)))
Pour moi, réponse drôle et inattendue...
Cela a de "la gueule"... Formidable.
Je l'adopte et l'applique également pour ma deuxième paire de ComboBox.
Dois-je te dire merci ?
:-)))
Heureusement que tu n'as pas raccroché, tu peu encore servir.
:-)
Merci encore
Bien amicalement
Michel
"MichD" a écrit dans le message de groupe de discussion :
r5vfvp$409$1@gioia.aioe.org...
Bonjour,
Tu peux utiliser ceci :
'-------------------------------------
Dim Arr()
Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier")
With Me
With .ComboBox1
.List = Application.Transpose(Arr)
.ListIndex = 0
End With
With .ComboBox5
.List = Application.Transpose(Arr)
.ListIndex = 0
End With
End With
'-------------------------------------
MichD
On peut faire un peu plus court :
'---------------------------------------
Dim Arr(), Arr1(),Elt As Variant
Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier")
Arr1 = Array("Combobox1", "Combobox2")
For Each Elt In Arr1
With Me.Controls(Elt)
.List = Application.Transpose(Arr)
.ListIndex = 0
End With
Next
'---------------------------------------
Mon cher Denis, Tu m'étonneras toujours. :-))) Pour moi, réponse drôle et inattendue... Cela a de "la gueule"... Formidable. Je l'adopte et l'applique également pour ma deuxième paire de ComboBox. Dois-je te dire merci ? :-))) Heureusement que tu n'as pas raccroché, tu peu encore servir. :-) Merci encore Bien amicalement Michel "MichD" a écrit dans le message de groupe de discussion : r5vfvp$409$
Bonjour, Tu peux utiliser ceci : '------------------------------------- Dim Arr() Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier") With Me With .ComboBox1 .List = Application.Transpose(Arr) .ListIndex = 0 End With With .ComboBox5 .List = Application.Transpose(Arr) .ListIndex = 0 End With End With '------------------------------------- MichD
On peut faire un peu plus court : '--------------------------------------- Dim Arr(), Arr1(),Elt As Variant Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier") Arr1 = Array("Combobox1", "Combobox2") For Each Elt In Arr1 With Me.Controls(Elt) .List = Application.Transpose(Arr) .ListIndex = 0 End With Next '--------------------------------------- MichD
Péhemme
... tu peux... Michel "MichD" a écrit dans le message de groupe de discussion : r5vfvp$409$
Bonjour, Tu peux utiliser ceci : '------------------------------------- Dim Arr() Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier") With Me With .ComboBox1 .List = Application.Transpose(Arr) .ListIndex = 0 End With With .ComboBox5 .List = Application.Transpose(Arr) .ListIndex = 0 End With End With '------------------------------------- MichD
On peut faire un peu plus court : '--------------------------------------- Dim Arr(), Arr1(),Elt As Variant Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier") Arr1 = Array("Combobox1", "Combobox2") For Each Elt In Arr1 With Me.Controls(Elt) .List = Application.Transpose(Arr) .ListIndex = 0 End With Next '--------------------------------------- MichD
... tu peux...
Michel
"MichD" a écrit dans le message de groupe de discussion :
r5vfvp$409$1@gioia.aioe.org...
Bonjour,
Tu peux utiliser ceci :
'-------------------------------------
Dim Arr()
Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier")
With Me
With .ComboBox1
.List = Application.Transpose(Arr)
.ListIndex = 0
End With
With .ComboBox5
.List = Application.Transpose(Arr)
.ListIndex = 0
End With
End With
'-------------------------------------
MichD
On peut faire un peu plus court :
'---------------------------------------
Dim Arr(), Arr1(),Elt As Variant
Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier")
Arr1 = Array("Combobox1", "Combobox2")
For Each Elt In Arr1
With Me.Controls(Elt)
.List = Application.Transpose(Arr)
.ListIndex = 0
End With
Next
'---------------------------------------
... tu peux... Michel "MichD" a écrit dans le message de groupe de discussion : r5vfvp$409$
Bonjour, Tu peux utiliser ceci : '------------------------------------- Dim Arr() Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier") With Me With .ComboBox1 .List = Application.Transpose(Arr) .ListIndex = 0 End With With .ComboBox5 .List = Application.Transpose(Arr) .ListIndex = 0 End With End With '------------------------------------- MichD
On peut faire un peu plus court : '--------------------------------------- Dim Arr(), Arr1(),Elt As Variant Arr = Array("Choix Rang...", "1er", "2ème", "3ème", "4ème", "Dernier") Arr1 = Array("Combobox1", "Combobox2") For Each Elt In Arr1 With Me.Controls(Elt) .List = Application.Transpose(Arr) .ListIndex = 0 End With Next '--------------------------------------- MichD