OVH Cloud OVH Cloud

TRI de colonnes indépendantes

1 réponse
Avatar
jean-paul.bataille
Bonjour,

J'ai un tableau de 100 colonnes et 2000 lignes,
je veux en extraire un tableau de 100 colonnes, chaque colonne listant
les valeurs - de 10 =E0 50 valeurs diff=E9rentes- de chacune des colonnes
du tableau initial.
Dans une boucle FOR-NEXT, je recopie les valeurs des colonnes , pas de
Pb.
Lorsque je trie je ne sais pas faire en sorte que le tri ne soit que
sur la colonne courante et pas sur les colonnes pr=E9c=E9demment
recopi=E9es.

Autrement dit : ma routine se pr=E9sente comme ceci :

FOR =3D 0 to NbreColonne
copier colonne i
Coller en colonne 120+1 sans doublon
Trier avec ent=EAte
NEXT i

Lorsque i =3D 0 je trie sans probl=E9me la colonne 120+i
lorsque i =3D 1 et ensuite, le tri traite l'ensemble du tableau existant
donc retri les colonnes 120+i pr=E9c=E9dentes d'o=F9 en fait un m=E9lange
de leurs valeurs.

Comment faire pour en VB ne trier que colonne par colonne, =E0 la main
le menu tri propose en pareil cas d'=E9tendre ou de ne pas =E9tendre le
tri.

Merci par avance de votre aide.
JPB

1 réponse

Avatar
AV
Avec la plage A1:VCxxx (100 colonnes avec en-têtes)
Extraire (à partir de la colonne 120(DP) --> 220(HK)) les éléments uniques pour
chacune de ces colonnes et les trier (croissant)séparément :

Sub zz()
x = 120
Application.ScreenUpdating = False
For i = 1 To 100
Columns(i).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Columns(x),
Unique:=True
Columns(x).Sort Key1:Îlls(2, x), Order1:=xlAscending, Header:=xlYes
x = x + 1
Next
End Sub

AV