2 combobox successifs

giemme

XLDnaute Nouveau
Bonjour au forum

Dans le cadre de mon boulot, je dois archiver les pv de mes fournisseurs.
J'ai creer un classeur excel avec un nom de feuille pour chaque article et je voudrais creer un formulaire pour automatiser et eviter un maximum de faute de frappe. Pour cela j'ai creer une userform, dans la 1ere combobox j'affiche le nom de mes onglets que j'ai mis sur la feuille "recapitulatif". Dans la 2eme combobox je voudrais afficher la liste des fournisseurs (sans doublons), que je trouve dans la collone "D" de chacune de mes feuilles.
Je suis alle sur le forum et j'ai trouve plusieurs posts dont je me suis inspire, mais je ne parviens pas a mes fins !

Je joint un lien pour acceder a mon fichier : http://cjoint.com/?iwszhJ6235

Y aurais t'il une bonne ame pour m'aider ?
 

porcinet82

XLDnaute Barbatruc
Re : 2 combobox successifs

Salut,

Pas sur d'avoir tout saisie et en plus, ton USF n'est pas dans ton fichier.
En fait, c'est des Combo en cascade c'est bien ca? Tu selectionnes un feuille dans la Combo1 et tu veux afficher dans la Combo2 la liste des fournisseurs se trouvant dans la colonne D de la feuille en question.
Si c'est ce que tu souhaites, voici le code à placer dans le code du USF :
Code:
Private Sub UserForm_Initialize()
Dim i%
ComboBox1.Clear
For i = 1 To Sheets.Count
    If Sheets(i).Name <> "Template" And Sheets(i).Name <> "Récapitulatif" Then ComboBox1.AddItem Sheets(i).Name
Next i
End Sub

Private Sub ComboBox1_Change()
Dim i%
Dim Collec As Collection
Dim cel As Range
Set Collec = New Collection
ComboBox2.Clear
With Sheets(ComboBox1.Value)
    For Each cel In .Range("E5:E" & .Range("E65536").End(xlUp).Row)
        On Error Resume Next
        Collec.Add cel.Value, CStr(cel.Value)
    Next cel
    
    For i = 1 To Collec.Count
        ComboBox2.AddItem Collec(i)
    Next i
End With
End Sub

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 446
Messages
2 088 491
Membres
103 870
dernier inscrit
didiexcel