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

Messages postés
59
Date d'inscription
vendredi 13 février 2009
Dernière intervention
27 mars 2016
-
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
Afficher la suite 

Votre réponse

4 réponses

Messages postés
14385
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
17 février 2019
153
0
Merci
Et avec "Dim j as long" ?
Commenter la réponse de NHenry
Messages postés
59
Date d'inscription
vendredi 13 février 2009
Dernière intervention
27 mars 2016
0
Merci
Bonjour,

Effectivement cela à l'air de fonctionner

Merci beaucoup

Jean-Marie
Commenter la réponse de djodjo5700
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
264
0
Merci
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
djodjo5700
Messages postés
59
Date d'inscription
vendredi 13 février 2009
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)
ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
264 > djodjo5700
Messages postés
59
Date d'inscription
vendredi 13 février 2009
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" ;
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
264
0
Merci
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
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.