Bonjour,
J'ai trouve un exemple de Userform pour des listes en cascade sur le lien suivant:
http://boisgontierjacques.free.fr/fichiers/Formulaire/FormCascade3Niveaux2.xls
La macro est très très bien faite au point que je n'en comprend pas toutes les subtilités.
Je souhaiterais adapter cet exemple a mon cas. Ceci implique tout d'abord de changer les champs: An, Nom, Domaine.
Ce que je fais en mettant bien la majuscule.
Je fais de même dans la suite du code:
Jusque la pas trop trop de problèmes.
Ensuite arrive les 3 Subroutines qui vont créer les listes des combobox.
Voici la première:
Ici je vous avoue être un peu perdu.
Premièrement pourquoi y a-t-il des variables qui ont une majuscule et d'autres non? exemple "domaine" et "Domaine".
Lorsque je renomme il y a une erreur au niveau de l'objet Me.Domaine.
Comment déclare-t-on cet objet? Ou est-il définit?
Mon but ultime est de rajouter une combobox de plus avec le même outil de tri mais j'aimerais tout d'abord comprendre pourquoi en renommant tout simplement ceci ne fonctionne pas sur la base de l'exemple propose.
Merci d'avance pour votre aide.
J'ai trouve un exemple de Userform pour des listes en cascade sur le lien suivant:
http://boisgontierjacques.free.fr/fichiers/Formulaire/FormCascade3Niveaux2.xls
La macro est très très bien faite au point que je n'en comprend pas toutes les subtilités.
Je souhaiterais adapter cet exemple a mon cas. Ceci implique tout d'abord de changer les champs: An, Nom, Domaine.
Code:
Private Sub UserForm_Initialize()
Ch_Nom
Ch_An
Ch_Domaine
On Error Resume Next
ActiveSheet.ShowAllData
End Sub
Ce que je fais en mettant bien la majuscule.
Je fais de même dans la suite du code:
Code:
Private Sub Nom_DropButtonClick()
Ch_Nom
End Sub
Private Sub An_DropButtonClick()
Ch_An
End Sub
Private Sub Domaine_DropButtonClick()
Ch_Domaine
End Sub
Private Sub Nom_Change()
filtre
End Sub
Private Sub An_Change()
filtre
End Sub
Private Sub Domaine_Change()
filtre
End Sub
Jusque la pas trop trop de problèmes.
Ensuite arrive les 3 Subroutines qui vont créer les listes des combobox.
Voici la première:
Code:
Sub Ch_Nom()
Set MonDico = CreateObject("Scripting.Dictionary")
For i = 1 To Range("nom").Count
If Range("domaine")(i) Like Me.Domaine And CStr(Range("an")(i)) Like Me.An Then
temp = Range("nom")(i)
If Not MonDico.Exists(temp) Then
MonDico.Add temp, temp
End If
End If
Next i
MonDico.Add "*", "*"
temp = MonDico.items
Call Tri(temp, LBound(temp), UBound(temp))
Me.Nom.List = temp
End Sub
Ici je vous avoue être un peu perdu.
Premièrement pourquoi y a-t-il des variables qui ont une majuscule et d'autres non? exemple "domaine" et "Domaine".
Lorsque je renomme il y a une erreur au niveau de l'objet Me.Domaine.
Comment déclare-t-on cet objet? Ou est-il définit?
Mon but ultime est de rajouter une combobox de plus avec le même outil de tri mais j'aimerais tout d'abord comprendre pourquoi en renommant tout simplement ceci ne fonctionne pas sur la base de l'exemple propose.
Merci d'avance pour votre aide.
Dernière édition: