Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ComboBox et Userform

4 réponses
Avatar
jaloulou
Bjr
Ce code placé dans un UserForm fonctionne. Il initialise les Combobox.
Private Sub UserForm_Initialize()
Dim mois
Dim beneficiaire
Dim Nature
Dim Motif
For mois = 1 To 12
ComboBoxMois.AddItem Sheets("Listes Diverses").Cells(mois, 1)
Next
For beneficiaire = 1 To 6
ComboBoxBeneficiaire.AddItem Sheets("Listes
Diverses").Cells(beneficiaire, 3)
Next
For Nature = 1 To 10
ComboBoxNature.AddItem Sheets("Listes Diverses").Cells(Nature, 5)
Next
For Motif = 1 To 10
ComboBoxMotif.AddItem Sheets("Listes Diverses").Cells(Motif, 7)
Next

End Sub

Je viens de me rendre compte que j'ai 3 UserForm comportant les mêmes
ComboBox. Existe t'il un moyen de les initialiser tous en même temps et Où
dois-je placer le code (je pense à Thisworkbook)
Merci à vous
Jak

4 réponses

Avatar
JB
Bonsoir,

On peut simplifier:

Private Sub UserForm_Initialize()
Me.ComboBoxMois.List = [mois].Value
Me.ComboBoxNature.List = [Nature].Value
...
End Sub

JB



On 12 mar, 19:30, "jaloulou" wrote:
Bjr
Ce code placé dans un UserForm fonctionne. Il initialise les Combobox.
Private Sub UserForm_Initialize()
Dim mois
Dim beneficiaire
Dim Nature
Dim Motif
    For mois = 1 To 12
        ComboBoxMois.AddItem Sheets("Listes Diverses").Cells(mois , 1)
    Next
    For beneficiaire = 1 To 6
        ComboBoxBeneficiaire.AddItem Sheets("Listes
Diverses").Cells(beneficiaire, 3)
    Next
    For Nature = 1 To 10
        ComboBoxNature.AddItem Sheets("Listes Diverses").Cells(Na ture, 5)
    Next
    For Motif = 1 To 10
        ComboBoxMotif.AddItem Sheets("Listes Diverses").Cells(Mot if, 7)
    Next

End Sub

Je viens de me rendre compte que j'ai 3 UserForm comportant les mêmes
ComboBox. Existe t'il un moyen de les initialiser tous en même temps et Où
dois-je placer le code (je pense à Thisworkbook)
Merci à vous
Jak


Avatar
jaloulou
Merci JB pour la simplification

Mais je me suis mal exprimé, je pense, J'ai 3 userform qui possèdent les
mêmes combobox. Existe t'il un moyen de les remplir en même temps ?
USF1 : CBBx"mois" + CCBx"nature" + CCBx"Beneficiaire" + autres...
USF2 : CBBx"mois" + CCBx"nature" + CCBx"Beneficiaire" + autres...
USF3 : CBBx"mois" + CCBx"nature" + CCBx"Beneficiaire" + autres...
Merci
"JB" a écrit dans le message de news:

Bonsoir,

On peut simplifier:

Private Sub UserForm_Initialize()
Me.ComboBoxMois.List = [mois].Value
Me.ComboBoxNature.List = [Nature].Value
...
End Sub

JB



On 12 mar, 19:30, "jaloulou" wrote:
Bjr
Ce code placé dans un UserForm fonctionne. Il initialise les Combobox.
Private Sub UserForm_Initialize()
Dim mois
Dim beneficiaire
Dim Nature
Dim Motif
For mois = 1 To 12
ComboBoxMois.AddItem Sheets("Listes Diverses").Cells(mois, 1)
Next
For beneficiaire = 1 To 6
ComboBoxBeneficiaire.AddItem Sheets("Listes
Diverses").Cells(beneficiaire, 3)
Next
For Nature = 1 To 10
ComboBoxNature.AddItem Sheets("Listes Diverses").Cells(Nature, 5)
Next
For Motif = 1 To 10
ComboBoxMotif.AddItem Sheets("Listes Diverses").Cells(Motif, 7)
Next

End Sub

Je viens de me rendre compte que j'ai 3 UserForm comportant les mêmes
ComboBox. Existe t'il un moyen de les initialiser tous en même temps et Où
dois-je placer le code (je pense à Thisworkbook)
Merci à vous
Jak


Avatar
JB
Bonjour,

On peut initialiser les userforms à partir d'un module:

Sub essai()
UserForm1.ComboBox1.List = [Mois].Value
UserForm2.ComboBox1.List = [Mois].Value
UserForm3.ComboBox1.List = [Mois].Value
UserForm2.Show
End Sub

Mais dans ce cas, on perd la portabilité des formulaires par export/
import puisque le code n'apartient plus au formulaire.

JB

On 13 mar, 13:08, "jaloulou" wrote:
Merci JB pour la simplification

Mais je me suis mal exprimé, je pense, J'ai 3 userform qui possèdent les
mêmes combobox. Existe t'il un moyen de les remplir en même temps ?
USF1 : CBBx"mois" + CCBx"nature" + CCBx"Beneficiaire" + autres...
USF2 : CBBx"mois" + CCBx"nature" + CCBx"Beneficiaire" + autres...
USF3 : CBBx"mois" + CCBx"nature" + CCBx"Beneficiaire" + autres...
Merci
"JB" a écrit dans le message de news:

Bonsoir,

On peut simplifier:

Private Sub UserForm_Initialize()
   Me.ComboBoxMois.List = [mois].Value
   Me.ComboBoxNature.List = [Nature].Value
   ...
End Sub

JB

On 12 mar, 19:30, "jaloulou" wrote:



> Bjr
> Ce code placé dans un UserForm fonctionne. Il initialise les Combobox .
> Private Sub UserForm_Initialize()
> Dim mois
> Dim beneficiaire
> Dim Nature
> Dim Motif
> For mois = 1 To 12
> ComboBoxMois.AddItem Sheets("Listes Diverses").Cells(mois, 1)
> Next
> For beneficiaire = 1 To 6
> ComboBoxBeneficiaire.AddItem Sheets("Listes
> Diverses").Cells(beneficiaire, 3)
> Next
> For Nature = 1 To 10
> ComboBoxNature.AddItem Sheets("Listes Diverses").Cells(Nature, 5)
> Next
> For Motif = 1 To 10
> ComboBoxMotif.AddItem Sheets("Listes Diverses").Cells(Motif, 7)
> Next

> End Sub

> Je viens de me rendre compte que j'ai 3 UserForm comportant les mêmes
> ComboBox. Existe t'il un moyen de les initialiser tous en même temps et Où
> dois-je placer le code (je pense à Thisworkbook)
> Merci à vous
> Jak- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
jaloulou
Pourquoi cela ?
"Mois" est le nom donné à une plage, cette plage fait partie du document et
le document sera exporté dans son intégralité !
Que veux tu dire par "on perd la portabilité des formulaires par
export/import puisque le code n'apartient plus au formulaire".
Pour moi qui suis débutant le code est incrit dans le fichier, donc dans le
formulaire !
Jak (débutant)


"JB" a écrit dans le message de news:

Bonjour,

On peut initialiser les userforms à partir d'un module:

Sub essai()
UserForm1.ComboBox1.List = [Mois].Value
UserForm2.ComboBox1.List = [Mois].Value
UserForm3.ComboBox1.List = [Mois].Value
UserForm2.Show
End Sub

Mais dans ce cas, on perd la portabilité des formulaires par export/
import puisque le code n'apartient plus au formulaire.

JB

On 13 mar, 13:08, "jaloulou" wrote:
Merci JB pour la simplification

Mais je me suis mal exprimé, je pense, J'ai 3 userform qui possèdent les
mêmes combobox. Existe t'il un moyen de les remplir en même temps ?
USF1 : CBBx"mois" + CCBx"nature" + CCBx"Beneficiaire" + autres...
USF2 : CBBx"mois" + CCBx"nature" + CCBx"Beneficiaire" + autres...
USF3 : CBBx"mois" + CCBx"nature" + CCBx"Beneficiaire" + autres...
Merci
"JB" a écrit dans le message de news:

Bonsoir,

On peut simplifier:

Private Sub UserForm_Initialize()
Me.ComboBoxMois.List = [mois].Value
Me.ComboBoxNature.List = [Nature].Value
...
End Sub

JB

On 12 mar, 19:30, "jaloulou" wrote:



> Bjr
> Ce code placé dans un UserForm fonctionne. Il initialise les Combobox.
> Private Sub UserForm_Initialize()
> Dim mois
> Dim beneficiaire
> Dim Nature
> Dim Motif
> For mois = 1 To 12
> ComboBoxMois.AddItem Sheets("Listes Diverses").Cells(mois, 1)
> Next
> For beneficiaire = 1 To 6
> ComboBoxBeneficiaire.AddItem Sheets("Listes
> Diverses").Cells(beneficiaire, 3)
> Next
> For Nature = 1 To 10
> ComboBoxNature.AddItem Sheets("Listes Diverses").Cells(Nature, 5)
> Next
> For Motif = 1 To 10
> ComboBoxMotif.AddItem Sheets("Listes Diverses").Cells(Motif, 7)
> Next

> End Sub

> Je viens de me rendre compte que j'ai 3 UserForm comportant les mêmes
> ComboBox. Existe t'il un moyen de les initialiser tous en même temps et
> Où
> dois-je placer le code (je pense à Thisworkbook)
> Merci à vous
> Jak- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -