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

User form, vba et liste déroulante: a l'aide !

1 réponse
Avatar
romino
Bonjour =E0 toutes et tous;

le probl=E8me du jour:

j'ai un userform avec une liste d=E9roulante dont le=20
r=E9sultat se met en cellule B3 de ma feuille "Donnees".
Quand mon userform se ferme, il v=E9rifier la valeur donn=E9e=20
=E0 cette cellule. Si elle contient "Co" ou "DA" alors un=20
userfom4 s'affiche.
Ce userform contient uniquement une liste d=E9roulant qui=20
doit =EAtre aliment=E9e en fonction de ce qui est en B3:
si b3 =3D CO alors il doit afficher la plage de=20
donn=E9es "Liste Pays!f34:f39"
si b3 =3D Da il doit afficher la plage de donn=E9es "Liste=20
Pays!f40:f45"

or la liste reste vide ...

voici le code:
-------------
Private Sub UserForm4_Initialize()
'proc=E9dure de chargement de la liste d=E9roulante
If Worksheets("Donnees").Range("B3").Value =3D "CO" Then
Me.activite.RowSource =3D "Liste Pays!f34:f39"
ElseIf Worksheets("Donnees").Range("B3").Value =3D "DA" Then
Me.activite.RowSource =3D "Liste Pays!f40:f45"
Else
Me.activite.RowSource =3D ""
End If
End Sub

Private Sub CommandButton1_Click()
UserForm4.Hide
End Sub
--------

Merci pour votre aide.

Romino

1 réponse

Avatar
Michel HOLDERITH
Salut,
Dans un module :

Sub test()
Unload UserForm1
Load UserForm1
UserForm1.Show
End Sub

dans userform1 avec un listbox1 :

Private Sub UserForm_Initialize()
'procédure de chargement de la liste déroulante
If Worksheets("Donnees").Range("B3").Value = "CO" Then
UserForm1.ListBox1.RowSource = "Liste_Pays!f34:f39"
Else
If Worksheets("Donnees").Range("B3").Value = "DA" Then
UserForm1.ListBox1.RowSource = "Liste_Pays!f40:f45"
Else
UserForm1.ListBox1.RowSource = ""
End If
End If
End Sub


J'ai teste et tout marche bien, le seul petit truc qui coince c'est le nom
de ta feuille : Liste Pays que VBA n'aime pas donc je l'ai renomme :
Liste_Pays.

@+
Michel.


"romino" wrote in message
news:086f01c3a450$38f75ca0$
Bonjour à toutes et tous;

le problème du jour:

j'ai un userform avec une liste déroulante dont le
résultat se met en cellule B3 de ma feuille "Donnees".
Quand mon userform se ferme, il vérifier la valeur donnée
à cette cellule. Si elle contient "Co" ou "DA" alors un
userfom4 s'affiche.
Ce userform contient uniquement une liste déroulant qui
doit être alimentée en fonction de ce qui est en B3:
si b3 = CO alors il doit afficher la plage de
données "Liste Pays!f34:f39"
si b3 = Da il doit afficher la plage de données "Liste
Pays!f40:f45"

or la liste reste vide ...

voici le code:
-------------
Private Sub UserForm4_Initialize()
'procédure de chargement de la liste déroulante
If Worksheets("Donnees").Range("B3").Value = "CO" Then
Me.activite.RowSource = "Liste Pays!f34:f39"
ElseIf Worksheets("Donnees").Range("B3").Value = "DA" Then
Me.activite.RowSource = "Liste Pays!f40:f45"
Else
Me.activite.RowSource = ""
End If
End Sub

Private Sub CommandButton1_Click()
UserForm4.Hide
End Sub
--------

Merci pour votre aide.

Romino