[Excel] PB avec combobox filtrées en cascades

Fermé
fafeouw Messages postés 4 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 15 juin 2007 - 4 juin 2007 à 23:58
fafeouw Messages postés 4 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 15 juin 2007 - 15 juin 2007 à 19:06
Bonjour à tous,

Je rencontre actuellement sur un fichier excel que je programme avec VBA un problème pour réaliser deux combobox qui serait filtrées en cascades. l'utilisateur une fois son choix fait dans combo1 obtiendrai donc une liste restreinte dans combo 2. Je précise que les données se trouve sur une feuille à part et que les combo sont situés sur une feuille excel et non pas sur un userform.

voici le bout de code VBA que j'ai fait :

Private Sub Combobox1_Change()
Dim x As Integer

Me.Combobox2.Clear
With Sheets("Feuill1")
For x = 1 To .Range("E65536").End(xlUp).Row
If .Range("E" & x) = Val(Me.Combobox1.Value) Then Me.Combobox2.AddItem.Range ("F" & x)
Next
End With

End Sub

le problème qui se pose lorsque que je fais mon choix dans combo1 et que je vais cliquer sur combo2 pour finaliser j'ai une erreur :

Erreur de compilation, qualificateur incorrect.


Voilà si quelqu'un à une solution ça serait sympa.

@+
Fafeouw
A voir également:

2 réponses

Sergio63 Messages postés 53 Date d'inscription lundi 12 décembre 2005 Statut Membre Dernière intervention 9 juin 2011 24
8 juin 2007 à 10:21
Bonjour,

Ta méthode me semble un peu compliquée,

Il y a un article intéressant à ce sujet ici :

listes dependantes sous excel

J'ai déjà utilisé cette méthode et ça marche très bien.

Cordialement

Sergio
0
fafeouw Messages postés 4 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 15 juin 2007
15 juin 2007 à 19:06
Bonjour Sergio, Bounjour Le Forum,

Désolé pour le délai de réponse mais j'ai eu un problème d'accès durant une semaine.

Sergio merci pour ta réponse cela fonctionne très bien.

Pour info j'ai retouché mon code et celà fonctionne aussi.

Private Sub Combobox1_Change()
Dim x As Integer

Me.Combobox2.Clear
With Sheets("Feuill1")
For x = 1 To .Range("E65536").End(xlUp).Row
If .Range("E" & x) = Combobox1.Value Then Me.Combobox2.AddItem .Range ("F" & x)
Next
End With

End Sub

Et voilà il ne me manquait pas grand chose.

@+
Fafeouw
0