Remplissage d'une ComboBox à partir d'une plage/Excel [Résolu]

Signaler
Messages postés
59
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
27 mars 2016
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour,
J'essaye de changer une TextBox2 en ComboBox3
le code utilisé est:

With Me.TextBox2
For J = 2 To Ws.Range("D" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("D" & J)
Next J
End With



Lorsque je fait F5 pour contrôler je reçois le message d'erreur:
"Erreur de compilation
Variable non definie"

Et je "J", après "For" est surligné.

Pourriez vous m'aider?

Cordialement,

Jean-Marie i

4 réponses

Messages postés
14789
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2021
155
Et avec "Dim j as long" ?
Messages postés
59
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
27 mars 2016

Bonjour,

Effectivement cela à l'air de fonctionner

Merci beaucoup

Jean-Marie
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Bonjour,
Si le problème est résiolu, il convient de libérer ce sujet (un click sur le tag RESOLU au niveau de ton tout premier message)

Je reste par contre assez dubitatif en ce qui concerne le code que tu nous as montré.
La méthode .additem ne saurait s'appliquer à un contrôle TextBox.
Qu'est donc exactement le contrôle que tu as nommé TextBox2 ?

PS je te rappelle par ailleurs qu'Excel permet de lier une combobox à une plage (même pas besoin d'une boucle).

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Messages postés
59
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
27 mars 2016

C'est fait

Merci beaucoup

Le code que j'ai utilisé à été trouvé sur internet,
J'ai dans un premier temps supprimer me TextBox2, j'ai inséré une
Combobox que j'ai renommer TextBox2 (dans propriété, NAME)
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236 >
Messages postés
59
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
27 mars 2016

Si, donc, Textbox2 est finalement une combobox et non une textbox, relis ce que j'ai dit plus haut : une simple liaison à la plage concernée, sans aucune boucle, "fait le travail" ;
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
regarde :
si ta combo est sur une feuille de calcul :
Dim ws As Worksheet, plage As Range
Set ws = Worksheets("Feuil2")
Set plage = ws.Range("D2:d" & Range("D" & Rows.Count).End(xlUp).Row)
ComboBox1.ListFillRange = ws.Name & "!" & plage.Address

et si elle est par contre sur un userform :
remplace .listfillrange par .rowsource
C'est tout.

PS : j'ai modifié ton titre. Le fait que tu remplissais jusqu'alors une textbox ne change rien.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend