Vba excel combobox tri et élimination des doublons

Signaler
Messages postés
5
Date d'inscription
jeudi 19 septembre 2002
Statut
Membre
Dernière intervention
21 octobre 2002
-
Messages postés
2
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
1 août 2005
-
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

Messages postés
1471
Date d'inscription
mardi 5 février 2002
Statut
Membre
Dernière intervention
20 octobre 2014
12
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
Messages postés
5
Date d'inscription
jeudi 19 septembre 2002
Statut
Membre
Dernière intervention
21 octobre 2002

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
Messages postés
2
Date d'inscription
samedi 12 octobre 2002
Statut
Membre
Dernière intervention
6 décembre 2004

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
Messages postés
2
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
1 août 2005

ca marche passssssssss :(
0
Messages postés
2
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
1 août 2005

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