VBA Remplir une Combobox sans utiliser de sel
Résolu
pijaku
Messages postés
13513
Date d'inscription
Statut
Modérateur
Dernière intervention
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Sous Excel, j'ai créé un Userform avec des tas de combobox, textbox etc... Je souhaite incrémenter, au lancement de mon Userform, mes combobox à partir de listes que j'ai dans une feuille de mon classeur. J'ai fait ceci :
Private Sub UserForm_Activate()
Application.ScreenUpdating = False
TextBox1 = ""
TextBox2 = ""
ComboBox1.Clear
Sheets("Données").Visible = True
Sheets("Données").Select
ActiveSheet.Range("C2").Select
Do While ActiveCell <> ""
comboBox1.AddItem UCase(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
CheckBox4 = False
OptionButton3 = False
End Sub
Ce code fonctionne, mais je sais d'expérience qu'il utilise pas mal de mémoire. Que faire pour ajouter des item à ma comboBox1 sans utiliser .Select???
Merci d'avance.
Sous Excel, j'ai créé un Userform avec des tas de combobox, textbox etc... Je souhaite incrémenter, au lancement de mon Userform, mes combobox à partir de listes que j'ai dans une feuille de mon classeur. J'ai fait ceci :
Private Sub UserForm_Activate()
Application.ScreenUpdating = False
TextBox1 = ""
TextBox2 = ""
ComboBox1.Clear
Sheets("Données").Visible = True
Sheets("Données").Select
ActiveSheet.Range("C2").Select
Do While ActiveCell <> ""
comboBox1.AddItem UCase(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
CheckBox4 = False
OptionButton3 = False
End Sub
Ce code fonctionne, mais je sais d'expérience qu'il utilise pas mal de mémoire. Que faire pour ajouter des item à ma comboBox1 sans utiliser .Select???
Merci d'avance.
A voir également:
- VBA Remplir une Combobox sans utiliser de sel
- Comment utiliser chromecast sur tv - Guide
- Utiliser iphone comme webcam - Guide
- Utiliser une tablette comme ecran pc - Guide
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- [Excel 2010] Remplir cellule d'après contenu d'une autre ✓ - Forum Excel
6 réponses
Bonjour,
Je ne suis pas sûre d'avoir bien saisi ta demande.
Quand tu dis que tu souhaites "incrémenter tes combobox à partir de listes", est-ce que ça signifie que tes listes sont susceptibles de s'agrandir ?
Si tel est le cas, une solution simple consiste à donner un nom aux listes avec une formule Décaler, ou encore plus simple (à partir de la version 2002 ou 2003, je ne sais plus exactement) de transformer ces listes en listes façon Excel qui s'agrandira automatiquement (Données, Listes => Créer une liste).
Mais peut être n'ai-je pas compris ta question... ;)
m@rina
Je ne suis pas sûre d'avoir bien saisi ta demande.
Quand tu dis que tu souhaites "incrémenter tes combobox à partir de listes", est-ce que ça signifie que tes listes sont susceptibles de s'agrandir ?
Si tel est le cas, une solution simple consiste à donner un nom aux listes avec une formule Décaler, ou encore plus simple (à partir de la version 2002 ou 2003, je ne sais plus exactement) de transformer ces listes en listes façon Excel qui s'agrandira automatiquement (Données, Listes => Créer une liste).
Mais peut être n'ai-je pas compris ta question... ;)
m@rina
Effectivement mes listes s'agrandissent au fur et à mesure de l'utilisation du classeur.
Par incrémenter j'attends simplement que lors de l'ouverture du UserForm, ma combobox soit complétée des valeurs que j'ai rentré en Sheets("Données").Range("C2:C15") par exemple.
Par incrémenter j'attends simplement que lors de l'ouverture du UserForm, ma combobox soit complétée des valeurs que j'ai rentré en Sheets("Données").Range("C2:C15") par exemple.
Salut Pijaku
Y'avait bin longtemps!...
a la place de
Y'avait bin longtemps!...
With Sheets("données")
fin = .Range("C2").End(xlDown).Row
For cptr = 2 To fin
ComboBox1.AddItem UCase(.Cells(cptr, 3))
Next
End With
a la place de
Sheets("Données").Visible = True
Sheets("Données").Select
ActiveSheet.Range("C2").Select
Do While ActiveCell <> ""
comboBox1.AddItem UCase(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
Salut et merci Michel,
Ben ouais y'avais bin longtemps... En fait, je suis là tous les jours mais tu prends tous les sujets auxquels je peux répondre et forcément donne de bien meilleures solutions que moi. Résultat, je lis beaucoup sur CCM, j'apprends, j'apprends, j'apprends en lisant les solutions de Marina, de toi bien sur mais de Mr PENTIER également.
A bientôt.
ps : si tu ne me laisse pas un sujet facile de temps à autre je vais finir par disparaître du forum bureautique!!!
@+
Edit : ta solution est superbe, ça fonctionne à merveille. J'aurais encore besoin d'autres tuyaux pour mon classeur, mais chaque sujet à la fois, celui-ci est "résolu".
Merci
Ben ouais y'avais bin longtemps... En fait, je suis là tous les jours mais tu prends tous les sujets auxquels je peux répondre et forcément donne de bien meilleures solutions que moi. Résultat, je lis beaucoup sur CCM, j'apprends, j'apprends, j'apprends en lisant les solutions de Marina, de toi bien sur mais de Mr PENTIER également.
A bientôt.
ps : si tu ne me laisse pas un sujet facile de temps à autre je vais finir par disparaître du forum bureautique!!!
@+
Edit : ta solution est superbe, ça fonctionne à merveille. J'aurais encore besoin d'autres tuyaux pour mon classeur, mais chaque sujet à la fois, celui-ci est "résolu".
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
re,
bin tu vois, j'pars en ouacances demain, bien sûr sans ordi, dans un coin béni où il n'y a pas d'adsl
donc t'es pénard pour 3 semaines!
si tu veux continuer à progresser, va faire un tour chez un copain à moi, maintenant MVP comme Marina:
https://silkyroad.developpez.com/
A mon avis, c'est + intéressant qu' intervilles ou la chasse au trésor....
bin tu vois, j'pars en ouacances demain, bien sûr sans ordi, dans un coin béni où il n'y a pas d'adsl
donc t'es pénard pour 3 semaines!
si tu veux continuer à progresser, va faire un tour chez un copain à moi, maintenant MVP comme Marina:
https://silkyroad.developpez.com/
A mon avis, c'est + intéressant qu' intervilles ou la chasse au trésor....