Vba excel combobox tri et élimination des doublons

cs_alex1512 Messages postés 5 Date d'inscription jeudi 19 septembre 2002 Statut Membre Dernière intervention 21 octobre 2002 - 19 sept. 2002 à 10:54
imaneneu Messages postés 2 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 1 août 2005 - 1 août 2005 à 14:14
Bonjour,

Je souhaiterais mettre les éléments d'une colonne d'une feuille excel dans une combobox sous vba(jusque la pas de problème) mais je souhaiterais que ces éléments soient classés par ordre alphabétique et que les doublons soient éliminés (un peu comme un filtre automatique)

Merci d'avance
Alex

5 réponses

BasicInstinct Messages postés 1471 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
19 sept. 2002 à 11:30
lut

pour la liste par ordre alphabetique, il suffit de trier ta colonne

pour supprimer les doublons, il faut passer par une colonne intermediaire (enfin je pense) et tester si dans ma colonne triée, la ligne I = ligne I-1
v'la
0
cs_alex1512 Messages postés 5 Date d'inscription jeudi 19 septembre 2002 Statut Membre Dernière intervention 21 octobre 2002
19 sept. 2002 à 12:56
le problème est que je ne veux pas modifier mon fichier excel, je souhaite juste prendre des éléments de ce fichier et après les mettre en forme dans ma combobox. je ne sais pas comment trier une combobox, je pensais à une requete type sql mais je n'en sais pas plus...
Alex
0
cs_marsupi Messages postés 2 Date d'inscription samedi 12 octobre 2002 Statut Membre Dernière intervention 6 décembre 2004
16 oct. 2002 à 13:10
Dim Tableau()

ReDim Tableau(nb de lignes à trier)
For i=1 To nb de lignes à trier
Tableau(i)= cells(i+1,colonne à trier)
Next

For i= Ubound(Tableau) -1
For j=i+1 To Ubound (Tableau) -1
If Tableau(i)>Tableau(j) then
tmp=Tableau(i)
Tableau(i)=Tableau(j)
Tableau(j)=tmp
End If
Next
Next

For j=1 to (Ubound(Tableau)-1)
If Tableau(j)=Tableau(j+1) then
Else
ComboBox.additem Tableau(j)
End If
Next
0
imaneneu Messages postés 2 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 1 août 2005
1 août 2005 à 14:12
ca marche passssssssss :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
imaneneu Messages postés 2 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 1 août 2005
1 août 2005 à 14:14
Dim Tableau()

ReDim Tableau(nb de lignes à trier)
For i=1 To nb de lignes à trier
Tableau(i)= cells(i+1,colonne à trier)
Next

For i= Ubound(Tableau) -1
For j=i+1 To Ubound (Tableau) -1
If Tableau(i)>Tableau(j) then
tmp=Tableau(i)
Tableau(i)=Tableau(j)
Tableau(j)=tmp
End If
Next
Next

For j=1 to (Ubound(Tableau)-1)
If Tableau(j)=Tableau(j+1) then
Else
ComboBox.additem Tableau(j)
End If
Next

ce code ne marche pas svp la solution pleaaaaaaaase
0
Rejoignez-nous