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 !
Après de longues recherches qui me mènent vers des choses approchantes mais non ce que je cherche je me retourne vers vous.
version 2003 d'excel
J'ai un classeur avec plusieurs feuilles.
Sur la feuille 1 se trouve (entre autre) 3 colonnes dans lesquelles des personnes y rentrent des données on ne connait donc pas à l'avance le nombre de lignes de chaque colonne. le nombre de colonne est pour le moment de 3 mais il n'est pas impossible qu'il augmente à l'avenir donc j'aimerais gérer ces lignes et colonnes avec deux variable i,j.
Je souhaite parcourir ces lignes et colonnes jusqu'à ce que tout soit parcouru et stocké dans 3 combobox différentes (1 par colonne) mais le hic c'est que ces combobox sont sur une autre feuille.
Ce remplissage de liste déroulante s'effectuera lorsque l'utilisateur appuiera sur un bouton importé dans ma feuille depuis la barre d'outil "boite à outil controle"
Bref voici le début de l'idée mais comme mes connaissances sont limitées soyez indulgent.
Question subsidiaire c'est combobox se place comment dans le modèle objet de vba?
elles appartiennent à quelle classe?
voici le code que j'avais imaginé en bon débutant...
Code:
Private Sub CommandButton2_Click()
Dim i, j As Integer
i = 1
j = 20
Do While Sheets(1).Cells(i, j).Value <> ""
ComboBox1.Value = Cells(i, j)
ComboBox2.Value = Cells(i, j + 1)
ComboBox3.Value = Cells(i, j + 2)
Loop
End Sub
par avance merci
ps: si vous connaissez un lien ou un pdf détaillant le modèle objet d'excel vba qui me permettrait de connaitre les objets leurs méthodes et propriétés, et la manière de les utiliser je suis preneur.
Re : Remplissage liste déroulante combobox avec plage dynamique
en fait si je devais ajouter une colonne j'ajouterai manuellement une autre combobox
donc on peut peut être faire l'économie du compteur de colonne même si j'aimerais bien voir comment ça se passe avec 2 variables (une pour ligne et l'autre pour colonne)
ceci dit je ne souhaite pas ajouter de combobox via vba je le ferai manuellement si c'était nécessaire
Re : Remplissage liste déroulante combobox avec plage dynamique
je sens que je suis pas loin mais ça ne marche pas...
Code:
Private Sub CommandButton5_Click()
'Initialiser les listes déroulantes
Dim i As Integer
i = 1
Do While (Range("T" & i).Value) <> ""
With Worksheets("Saisie Alignement Local")
.ComboBox1.AddItem Worksheets(2).Range("T" & i).Value
End With
i = i + 1
Loop
End Sub
Re : Remplissage liste déroulante combobox avec plage dynamique
Bonjour,
Mon problème est un peu différent et aussi je pense plus simple. Quelqu'un pourrait-il m'expliquer ce quelque chose qui parait évident à beaucoup de monde sur ce forum ?
Lorsqu'on insère un combobox dans un userform et qu'on veut remplir les différentes options du combobox sans les extraire d'une feuille excel, il parait qu'on peut les entrer grâce a AddItem. Or cette instruction doit être placé dans une fonction ou une procédure (je ne fais pas très bien la différence en VBA) qui porterait le NomDuUserform_Initialize(). Le problème est que je sais pas du tout ou placer cette procédure.
J'ai essayé de la mettre dans Feuil1, dans un module mais à chaque fois j'ai le message d'erreur "Sub ou Function non définie".
Est ce que cela peut venir du fait que j'ai inventé cette procédure et qu'elle ne s'est pas crée automatiquement comme lorsqu'on met du code sur un bouton : NomDuBouton_Click() ?
Je vous mets un fichier qui illustre ce que je viens de dire où ma procédure sensé initialiser les options du combobox est dans feuil1 avec le programme principal.
- 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