Liste déroulant dynamique en cascade en VBA
Résolu
Mistral_13200
Messages postés
649
Statut
Membre
-
Mistral_13200 Messages postés 649 Statut Membre -
Mistral_13200 Messages postés 649 Statut Membre -
Bonsoir à tous,
Je cherche à réaliser des listes déroulantes dynamiques et en cascade en VBA pour les besoins d’un classeur de comptabilité pour une association.
J’ai trouvé sur le net un exemple qui me conviendrait, mais je bloque sur la première ComboBox.
J’ai rentré le code ci-dessous et quand je lance le UserForme, j’ai une erreur de compilation : « Fonction ou variable attendue ». L’erreur pointe sur AddItem
Le code est le suivant :
Pouvez-vous m’aider.
D’avance merci.
Mistral
Je cherche à réaliser des listes déroulantes dynamiques et en cascade en VBA pour les besoins d’un classeur de comptabilité pour une association.
J’ai trouvé sur le net un exemple qui me conviendrait, mais je bloque sur la première ComboBox.
J’ai rentré le code ci-dessous et quand je lance le UserForme, j’ai une erreur de compilation : « Fonction ou variable attendue ». L’erreur pointe sur AddItem
Le code est le suivant :
Private Sub UserForm_Initialize()
Dim Feuille As Worksheet
Dim I As Integer
Dim Derniere_Ligne As Integer
Set Feuille = ThisWorkbook.Sheets("Données") 'Sélection de la feuille données de ce classeur.
With Feuille
Derniere_Ligne = Range("A" & Rows.Count).End(xlUp).Row 'Calcule de la dernière ligne.
For I = 2 To Derniere_Ligne
Me.Cbo_Operation.AddItem.Range("A" & I).Value 'Renseigne la liste Opérations.
Nest I
End With
Set Feuille = Nothing
End Sub
Pouvez-vous m’aider.
D’avance merci.
Mistral
3 réponses
-
Bonjour,
Il manque un point devant Range à Derniere_Ligne = .Range("A" &
et il manque un espace entre AddItem et .Range( -
bonjour,
comme ceci:
Private Sub UserForm_Initialize() Dim Feuille As Worksheet Dim I As Integer Dim Derniere_Ligne As Integer Set Feuille = ThisWorkbook.Sheets("Données") 'Sélection de la feuille données de ce classeur. With Feuille Derniere_Ligne = .Range("A" & Rows.Count).End(xlUp).Row 'Calcule de la dernière ligne. For I = 2 To Derniere_Ligne Me.Cbo_Operation.AddItem (.Range("A" & I)) 'Renseigne la liste Opérations. Next I End With Set Feuille = Nothing Me.Cbo_Operation.ListIndex = 0 End Sub
Voilà
-
Bonsoir et merci Le Pivert, C'est bon ça fonctionne.
Je crois que je vais devoir changer mes lunettes.
Bonnes soirées