VBA Remplir une Combobox sans utiliser de sel [Résolu/Fermé]

Messages postés
12247
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
19 juillet 2019
- - Dernière réponse : pijaku
Messages postés
12247
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
19 juillet 2019
- 27 juil. 2009 à 12:50
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.
Afficher la suite 

6 réponses

Messages postés
15357
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
25 août 2019
8623
0
Merci
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
Messages postés
12247
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
19 juillet 2019
2129
0
Merci
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.
Messages postés
15906
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
24 août 2019
2781
0
Merci
Salut Pijaku
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 
Messages postés
12247
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
19 juillet 2019
2129
0
Merci
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
Messages postés
15906
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
24 août 2019
2781
0
Merci
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:
http://silkyroad.developpez.com/
A mon avis, c'est + intéressant qu' intervilles ou la chasse au trésor....
Messages postés
12247
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
19 juillet 2019
2129
0
Merci
Ouaou!! waw!!! Que de lecture. Thanks for the lien...
Bonnes vacances à toi. Repose toi bien. En attendant ton retour, vais essayer de pas dire trop de bêtises à les gens.
A+