remplir combobox

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
 

zepeto

XLDnaute Occasionnel
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:

zepeto

XLDnaute Occasionnel
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
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
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:

zepeto

XLDnaute Occasionnel
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.
 

zepeto

XLDnaute Occasionnel
Re : remplir combobox

Re bonjour, exemple de mon probléme voir piéce jointe merci
De plus, l'ouverture du userform ou il y a ma combobox se fait grace à un bouton sur un autre userform
 

Pièces jointes

  • Classeur1.zip
    6 KB · Affichages: 67
  • Classeur1.zip
    6 KB · Affichages: 67
  • Classeur1.zip
    6 KB · Affichages: 57
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
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
 

Discussions similaires

Statistiques des forums

Discussions
312 339
Messages
2 087 403
Membres
103 537
dernier inscrit
alisafred974