Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

ComboBox : rajouter des items

  • Initiateur de la discussion Initiateur de la discussion nico2nico65
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

nico2nico65

Guest
Bonjour à tous,

Voici mon problème, j'ai un tableau à deux colonnes dans un feuille excel avec pour intitulé des colonnes Classe et Stagiaire. J'ai nommé ce tableau Stagiaire.
A l'aide d'un formulaire, je sélectionne une classe dans une première comboBox et je voudrais que la deuxième combobox de mon formulaire ne me propose que les stagiaires de la classe sélectionnée en fonction des informations de mon tableau Stagiaire.

j'ai commencé a faire un code vb mais j'ai des difficultés.

-----------------------------------------------------------------------
Private Sub ListeClasse_Change()

Dim i, ligne As Integer
'Compte le nombre de ligne du tableau excel Stagiaire
Range("F7") = "=ROWS(Stagiaire)"
ligne = Range("F7")
Range("F7") = ""

'initialise ma combobox ListeStagiaire à vide
ListeStagiaire.RowSource = ""

'boucle dans mon tableau excel
For i = 1 To ligne

If Range("A" & i + 1) = ListeClasse.Value Then ListeStagiaire.RowSource = "B" & i + 1

Next i

ListeStagiaire.ListIndex = 0

End Sub

-------------------------------------------------------------------

C'est la partie en gras de mon programme que je n'arrive pas à faire fonctionner. Quand j'utilise la propriété Additem à la place de rowsource, j'ai un message d'erreur.

Merci d'avance pour votre aide.
 
Re : ComboBox : rajouter des items

Bonjour Nico

il me semble que dans ce cas, la méthode "additem" est plus appropriée, essaye comme suit :

Code:
If Range("A" & i + 1).Value = ListeClasse.Value Then ListeStagiaire.AddItem Range("B" & i + 1).Value

bonne journée
@+
 
Re : ComboBox : rajouter des items

Bonnour Nico, Pierrot, bonjour le forum,

En pièce jointe un exemple commenté qui pourrait t'aider. Il utilise la propriété ListIndex de la première combobox pour définir une variable col qui permet d'alimenter la seconde combobox...
 

Pièces jointes

Re : ComboBox : rajouter des items

Pour Information,

La réponse de Pierrot fonctionne à merveille : ListeStagiaire.AddItem Range("B" & i + 1).Value
En fait, j'avais essayer mais je me trompais toujours sur la syntaxe.

Par contre, j'ai du modifier le code ListeStagiaire.Rowsource = "" par ListeStagiaire.Clear sinon il me rajoutait les items sans vider ma liste au préalable

Concernant la réponse de Robert, elle ne correspondait pas à ma demande mais le fichier exemple me servira surement plus tard.
Dans l'exemple, on choisit l'intitulé de la colonne dans le premier ComboBox et on affiche les données de la colonne choisi dans la deuxième.
Moi, je voulais choisir une valeur de la première colonne , soit la classe CP, CE1,CE2,... et que ma deuxième liste n'affiche que les élèves de cette classe. En fait, cela consiste a faire un filtre sur ma combobox numéro 2.

Peut-être qu'il y a plus simple pour faire un filtre que ma méthode mais en tout cas cela fonctionne.

Merci à tous pour votre aide et votre rapidité.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
40
Affichages
3 K
Réponses
4
Affichages
628
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…