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 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
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 211
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 211 > 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 211
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
Rejoignez-nous