Remplissage d'une ComboBox à partir d'une plage/Excel

Résolu
djodjo5700
Messages postés
59
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
27 mars 2016
- Modifié par ucfoutu le 18/12/2014 à 16:59
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 18 déc. 2014 à 16:57
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

NHenry
Messages postés
14926
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
16 mai 2022
162
18 déc. 2014 à 15:30
Et avec "Dim j as long" ?
0
djodjo5700
Messages postés
59
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
27 mars 2016

18 déc. 2014 à 15:59
Bonjour,

Effectivement cela à l'air de fonctionner

Merci beaucoup

Jean-Marie
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Modifié par ucfoutu le 18/12/2014 à 16:39
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
0
djodjo5700
Messages postés
59
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
27 mars 2016

18 déc. 2014 à 16:40
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)
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236 > djodjo5700
Messages postés
59
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
27 mars 2016

18 déc. 2014 à 16:42
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" ;
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Modifié par ucfoutu le 18/12/2014 à 17:00
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
0