Alimenter une combobox en fonction textbox
Résolu/Fermé
Co_nexion
Messages postés
328
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
15 juillet 2015
-
30 mai 2012 à 16:30
Co_nexion Messages postés 328 Date d'inscription lundi 5 mars 2012 Statut Membre Dernière intervention 15 juillet 2015 - 31 mai 2012 à 13:47
Co_nexion Messages postés 328 Date d'inscription lundi 5 mars 2012 Statut Membre Dernière intervention 15 juillet 2015 - 31 mai 2012 à 13:47
A voir également:
- Alimenter une combobox en fonction textbox
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction filtre excel n'existe pas - Forum Excel
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- Cette fonction n'est pas disponible actuellement tv lg - Forum Téléviseurs
5 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
30 mai 2012 à 17:09
30 mai 2012 à 17:09
Salut,
Puisque le contenu de ta combo doit varier en fonction de la saisie d'un textbox, je choisirais déjà comme événement déclencheur de la macro, l'événement TextBox_Exit.
D'autre part, si tu utilises un même combo pour plusieurs listes, il convient de supprimer à chaque fois les items de cette liste (méthode .Clear).
Une dernière chose, dans ton cas je privilégierais un Select Case plutôt que des If, plus explicite...
Par conséquent, voici un code à essayer :
Puisque le contenu de ta combo doit varier en fonction de la saisie d'un textbox, je choisirais déjà comme événement déclencheur de la macro, l'événement TextBox_Exit.
D'autre part, si tu utilises un même combo pour plusieurs listes, il convient de supprimer à chaque fois les items de cette liste (méthode .Clear).
Une dernière chose, dans ton cas je privilégierais un Select Case plutôt que des If, plus explicite...
Par conséquent, voici un code à essayer :
Private Sub UserForm_Initialize() ComboBox4.Clear End Sub Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'selon le cas du contenu de textbox2 Select Case TextBox2 Case "fonctionnaire" ComboBox4.Clear ComboBox4.AddItem "journée" ComboBox4.AddItem "journée férié" ComboBox4.AddItem "nuit" Case "CDI" ComboBox4.Clear ComboBox4.AddItem "..." Case Else ComboBox4.Clear MsgBox "Erreur de saisie" End Select End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
Modifié par pijaku le 31/05/2012 à 12:16
Modifié par pijaku le 31/05/2012 à 12:16
Le problème vient de l'endroit ou est indiqué Fonctionnaire ou CDI. Dans ton code tu nous indique : Select Case ComboBox1 or il ne sera jamais indiqé CDI dans ta combobox1 mais dans le textbox...
Ensuite, vérifie bien l'orthographe... Dans ta feuille, tu saisies "Fonctionnaire", mais dans le code on voit "fonctionnaire". C'est différent!...
Essaye :
Cordialement,
Franck P
Ensuite, vérifie bien l'orthographe... Dans ta feuille, tu saisies "Fonctionnaire", mais dans le code on voit "fonctionnaire". C'est différent!...
Essaye :
Private Sub ComboBox1_Change() 'Selectionne la même ligne que le nom Dim Lgn& Lgn = ComboBox1.ListIndex + 1 'Inscrit le statut en textbox With Sheets("ftp") TextBox2.Value = .Cells(Lgn + 1, 4) End With 'Mettre à jour la combo2 en sélectionnant un nom dans la combo1 'en fonction de ce qui apparait dans le TextBox2 Select Case TextBox2 Case "Fonctionnaire" ComboBox4.Clear ComboBox4.AddItem "journée" ComboBox4.AddItem "journée férié" ComboBox4.AddItem "nuit" Case "CDI" ComboBox4.Clear ComboBox4.AddItem "..." End Select End Sub--
Cordialement,
Franck P
Co_nexion
Messages postés
328
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
15 juillet 2015
31 mai 2012 à 13:47
31 mai 2012 à 13:47
Parfait
Merci pijaku
Je valide
Merci pijaku
Je valide
Co_nexion
Messages postés
328
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
15 juillet 2015
30 mai 2012 à 17:23
30 mai 2012 à 17:23
Merci Pijaku,
Juste une question, la combobox2 pourrait elle se mettre à jour lorsqu'un nom dans la combobox1 est selectionné ? (donc sans avoir à cliquer sur le textbox pour la mettre à jour)
Juste une question, la combobox2 pourrait elle se mettre à jour lorsqu'un nom dans la combobox1 est selectionné ? (donc sans avoir à cliquer sur le textbox pour la mettre à jour)
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
31 mai 2012 à 09:03
31 mai 2012 à 09:03
Bonjour!
la combobox2 pourrait elle se mettre à jour lorsqu'un nom dans la combobox1 est selectionné ?
Bien entendu!...
Pour cela, nous allons utiliser l'événement Change de la ComboBox1.
N'hésite pas...
la combobox2 pourrait elle se mettre à jour lorsqu'un nom dans la combobox1 est selectionné ?
Bien entendu!...
Pour cela, nous allons utiliser l'événement Change de la ComboBox1.
Private Sub ComboBox1_Change() Select Case ComboBox1 Case "fonctionnaire" ComboBox2.Clear ComboBox2.AddItem "journée" ComboBox2.AddItem "journée férié" ComboBox2.AddItem "nuit" Case "CDI" ComboBox2.Clear ComboBox2.AddItem "..." Case Else ComboBox2.Clear End Select End Sub
N'hésite pas...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Co_nexion
Messages postés
328
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
15 juillet 2015
Modifié par Co_nexion le 31/05/2012 à 09:43
Modifié par Co_nexion le 31/05/2012 à 09:43
Bonjour,
Alors je viens d'essayer ce bout de code, cependant ça ne réagit pas en changeant de nom dans la combo1. J'ai essayer en faisant un "private sub textbox2_change()" mais pas non plus... Je te met le fichier pour que tu puisse voir plus facilement.
https://www.cjoint.com/?BEFjQtZywk3
Alors je viens d'essayer ce bout de code, cependant ça ne réagit pas en changeant de nom dans la combo1. J'ai essayer en faisant un "private sub textbox2_change()" mais pas non plus... Je te met le fichier pour que tu puisse voir plus facilement.
https://www.cjoint.com/?BEFjQtZywk3