VBA Remplir une Combobox sans utiliser de sel

Résolu/Fermé
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 27 juil. 2009 à 11:54
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 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.

6 réponses

m@rina Messages postés 20033 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 avril 2024 11 269
27 juil. 2009 à 12:05
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
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
27 juil. 2009 à 12:09
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.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
27 juil. 2009 à 12:12
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 
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
27 juil. 2009 à 12:19
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
27 juil. 2009 à 12:34
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....
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
27 juil. 2009 à 12:50
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+
0