• Initiateur de la discussion Initiateur de la discussion zepeto
  • Date de début Date de début

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 !

zepeto

XLDnaute Occasionnel
Bonjour à tous,
je suis sous excel 97 et je réalise une macro avec des userform et j'ai des combobox.
Mon probléme :
J'ai une combobox que j'aimerais remplir avec des données, mais qui sont éparpillées dans mon tableaux et la je ne trouve pas se qui faut mettre dans le rowsource ou bien si il y a d'autre méthode?
Merci par avance et je reste disponible pour plus d'informations
 
Re : remplir combobox

Bonjour et merci pour vos réponses.
Voila ce que je veux faire :

Alimenter un Combobox sans doublon
For j = 1 To Range("A65536").End(xlUp).Row
Combobox1 = Range("A" & j)
If Combobox1.Listindex = -1 Then Combobox1.Additem Range("A" & j)
Next j

Mon problème je ne comprend pas le code et j'aimerais bien qu'on me le commente.
De plus, la possibilité que les données pour remplir la combobox soit éparpillées.
Merci par avance de votre aide

Et il me semble qu'il ne précise pas sur quelle page du classeur excel il faut aller chercher les données
 
Dernière édition:
Re : remplir combobox

Re, En fait j'ai tapé sa quelqu'un peux me dire pourquoi sa ne marche pas ?
Merci pour votre aide

(le combobox4 est un champ de recherche dans lequel je veux enlever les doublons)

'Alimenter un Combobox sans doublon
For j = 1 To Worksheets("proc").Range("a2:a65536").End(xlUp).Row
ComboBox4 = Range("A" & j)
If ComboBox4.ListIndex = -1 Then
ComboBox4.AddItem Range("A" & j)
Next j
 
Re : remplir combobox

Bonjour,

Code:
Private Sub UserForm_Initialize()
For j = 1 To Sheets("proc").[A65000].End(xlUp).Row
  ComboBox4.AddItem Sheets("proc").Cells(j, "A")
Next j
End Sub


Si doublons:

Code:
Private Sub UserForm_Initialize()
For j = 1 To Sheets("proc").[A65000].End(xlUp).Row
  Me.ComboBox4 = Sheets("proc").Cells(j, "A")
  If Me.ComboBox4.ListIndex = -1 Then
    Me.ComboBox4.AddItem Sheets("proc").Cells(j, "A")
  End If
Next j
End Sub


JB
 
Dernière édition:
Re : remplir combobox

Bonjour,
lorsque je saisi cela :

Private Sub userform_Initialize()
For i = 2 To Sheets("proc").[A65635].End(xlUp).Row
Me.ComboBox1 = Sheets("proc").Cells(i, "A")
If Me.ComboBox1.ListIndex = -1 Then
Me.ComboBox1.AddItem Sheets("proc").Cells(i, "A")
End If
Next i
Me.ComboBox1.ListIndex = 0
End Sub

il me dit erreur 424 objet requis.
J'ai remarquer que si je remplacer : UserForm_Initialize() par le nom de mon userform_Initialize() il n'y avait plus d'erreur mais le combobox est vide.
Je ne sais plus quoi faire, je trouve sa bisare.
Merci par avance pour votre aide.
 
Re : remplir combobox

Bonjour,


Code:
Private Sub UserForm_Initialize()
  For i = 4 To Sheets(1).[A65000].End(xlUp).Row
     Me.ComboBox1 = Sheets(1).Cells(i, "A")
     If Me.ComboBox1.ListIndex = -1 Then
       Me.ComboBox1.AddItem Sheets(1).Cells(i, "A")
     End If
  Next i
Me.ComboBox1.ListIndex = 0
End Sub

JB
 
- 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

Discussions similaires

Réponses
37
Affichages
1 K
Réponses
40
Affichages
2 K
Réponses
15
Affichages
897
  • Question Question
Microsoft 365 Suivi de budget
Réponses
5
Affichages
291
Retour