VBA [Excel 2003] Tri pas croissant pas décroi
Résolu
Mrfrize
Messages postés
188
Date d'inscription
Statut
Membre
Dernière intervention
-
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voila mon problème, je souhaite faire un tri personnaliser de mon tableau ni croissant ni décroissant. J'ai lu pas mal de truc mais les solutions que j'ai trouvé sont applicable
à Excel 2007 pas à 2003. Comme le trie personnalisé par liste.
Je voudrai donc trier mon tableau A8:H40 en fonction de la colonne I:I (critères) sur la colonne H.
Quelqu'un aurai une idée?
Merci d'avance.
Voila mon problème, je souhaite faire un tri personnaliser de mon tableau ni croissant ni décroissant. J'ai lu pas mal de truc mais les solutions que j'ai trouvé sont applicable
à Excel 2007 pas à 2003. Comme le trie personnalisé par liste.
Je voudrai donc trier mon tableau A8:H40 en fonction de la colonne I:I (critères) sur la colonne H.
Quelqu'un aurai une idée?
Merci d'avance.
A voir également:
- VBA [Excel 2003] Tri pas croissant pas décroi
- Excel trier par ordre croissant chiffre - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Logiciel tri photo - Guide
4 réponses
Bonjour,
1) Outils/Options/Liste pers. /Importer la liste des cellules : $I$2:$I$7
2) Données/Trier../Trier par : colonne H - Options, Premièreclé de l'ordre de tri : GL,LK, ...
1) Outils/Options/Liste pers. /Importer la liste des cellules : $I$2:$I$7
2) Données/Trier../Trier par : colonne H - Options, Premièreclé de l'ordre de tri : GL,LK, ...
Bonjour
Je pense que tu arrive a le faire manuellement? En selectionnant ton tableau et en faisant clic droit > trier > personnalisé
Ensuite tu sélectionne ta colonne de tri et le tour est joué....
Pour l'importer sur VBA, ne voulant pas dire de bétise et ne connaissant que les formule 2007.
Je te conseil de faire un enregistrement de macro et ensuite de faire la manipulation cité ci dessus! du coup tu aura la synthaxe et tu n'auras plus qu'a ajuster ta formule
Je pense que tu arrive a le faire manuellement? En selectionnant ton tableau et en faisant clic droit > trier > personnalisé
Ensuite tu sélectionne ta colonne de tri et le tour est joué....
Pour l'importer sur VBA, ne voulant pas dire de bétise et ne connaissant que les formule 2007.
Je te conseil de faire un enregistrement de macro et ensuite de faire la manipulation cité ci dessus! du coup tu aura la synthaxe et tu n'auras plus qu'a ajuster ta formule
Je pense que cela va t'aider :
https://www.hugedomains.com/domain_profile.cfm?d=culturepc&e=com
Sur Excel 2003, trier ce trouve dans le menu "Donnée" en haut de ton écran
Tiens nous au courant si c'est bon ;)
https://www.hugedomains.com/domain_profile.cfm?d=culturepc&e=com
Sur Excel 2003, trier ce trouve dans le menu "Donnée" en haut de ton écran
Tiens nous au courant si c'est bon ;)
Mon tri doit s'effectuer en fonction de la colonne I.
Exemple de la colonne I
GJ
LK
TOR
BS
SD
VS
Donc je voudrai que ma colonne H sois trié dans cette ordre là.
Exemple de la colonne I
GJ
LK
TOR
BS
SD
VS
Donc je voudrai que ma colonne H sois trié dans cette ordre là.
Dis moi ce que tu en penses....
Je ne trie la colonne H et je déplace toute la ligne en question et non juste la colonne I
Si tu voulais juste deplacé la colonne I il y a juste a ajuster le code!
Je ne trie la colonne H et je déplace toute la ligne en question et non juste la colonne I
Si tu voulais juste deplacé la colonne I il y a juste a ajuster le code!
Public Sub tri() Dim Nb_LigneTot, i, j As Integer Nb_LigneTot = Columns(8).Find("*", , , , xlByColumns, xlPrevious).Row 'La première ligne reste inchangée dans tous les cas donc je commence a i=2 'Il fautdra bien sur commencer a i = 3 et j = 2 si il y a une ligne d'entete, pour le reste de la macro rien ne change For i = 2 To Nb_LigneTot For j = 1 To i - 1 If Cells(i, 8).Value = Cells(j, 8).Value And Cells(i).Value <> Cells(j + 1, 8).Value And j <> i - 1 Then Rows(i).Select Selection.Cut Rows(j + 1).Select Selection.Insert Shift:=xlDown End If Next j Next i End Sub
Ok pas de soucis :D elle marche dans tous les cas pourtant
Comme je connais pas Excel 2003 j'avoue que je ne peux faire que te donner du VBA.
Patrice33740 à l'air de mieux Excel 2003 et donc pourra surement plus t'aider sans utiliser mon code VBA ..
Enfin au cas ou tu as toujours le code qui marche :) sachant que tu avoir 20 000 ligne cela marchera sans rien touché au code. Le problème est juste que je pense que si la qantité augmente le temps d'éxécution augmentera
Comme je connais pas Excel 2003 j'avoue que je ne peux faire que te donner du VBA.
Patrice33740 à l'air de mieux Excel 2003 et donc pourra surement plus t'aider sans utiliser mon code VBA ..
Enfin au cas ou tu as toujours le code qui marche :) sachant que tu avoir 20 000 ligne cela marchera sans rien touché au code. Le problème est juste que je pense que si la qantité augmente le temps d'éxécution augmentera
Cordialement
Patrice
PS : Avec Excel 2007 :
1) Bouton Office / Options Excel / Standard / Modifier les listes personnalisées / Importer la liste des cellules : $I$2:$I$7
2) Accueil / Trier et Filtrer / Tri personnalisé / Trier par : colonne H - Ordre : Liste personnalisée : GL, LK, ...