Tri par macro
Résolu/Fermé
Benoit_Lyon
Benoit_Lyon
- Messages postés
- 98
- Date d'inscription
- vendredi 20 janvier 2017
- Statut
- Membre
- Dernière intervention
- 13 décembre 2017
Benoit_Lyon
- Messages postés
- 98
- Date d'inscription
- vendredi 20 janvier 2017
- Statut
- Membre
- Dernière intervention
- 13 décembre 2017
5 réponses
Frenchie83
13 déc. 2017 à 13:46
- Messages postés
- 2235
- Date d'inscription
- lundi 6 mai 2013
- Statut
- Membre
- Dernière intervention
- 5 mars 2022
13 déc. 2017 à 13:46
Bonjour,
La plage à trier doit enrober toutes les colonnes concernées.
Exemple pour la feuille "Données", les colonnes de A à J
Cdlt
La plage à trier doit enrober toutes les colonnes concernées.
Exemple pour la feuille "Données", les colonnes de A à J
Worksheets("Données").Select DerLig = [A10000].End(xlUp).Row ActiveWorkbook.Worksheets("Données").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Données").Sort.SortFields.Add Key:=Range("A7"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Données").Sort .SetRange Range("A7:J" & DerLig) .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With
Cdlt
Benoit_Lyon
13 déc. 2017 à 17:05
- Messages postés
- 98
- Date d'inscription
- vendredi 20 janvier 2017
- Statut
- Membre
- Dernière intervention
- 13 décembre 2017
13 déc. 2017 à 17:05
Bonjour,
Je suis d'accord avec vous "La plage à trier doit enrober toutes les colonnes concernées". C'est bien pour cà que j'indique que zone avec noms. Dans le cas de la feuille "Données", la zone s'appelle "NomsDonnées".
Et en plus, cela fonctionne (le tri) pour la feuille Données, mais pas pour les autres feuilles.
J'ai essayé votre méthode, cela ne résout pas mon problème.
En effet, votre méthode n'a pas remis dans l'ordre alphabétique, et en plus n'exclue pas les lignes vides.
Je sais qu'il y a une possibilité avec une boucle, mais je ne sais pas faire. C'est pour ca que j'aimerais utiliser cette méthode, et trouver la solution par cette méthode.
Merci
Benoit
Je suis d'accord avec vous "La plage à trier doit enrober toutes les colonnes concernées". C'est bien pour cà que j'indique que zone avec noms. Dans le cas de la feuille "Données", la zone s'appelle "NomsDonnées".
Et en plus, cela fonctionne (le tri) pour la feuille Données, mais pas pour les autres feuilles.
J'ai essayé votre méthode, cela ne résout pas mon problème.
En effet, votre méthode n'a pas remis dans l'ordre alphabétique, et en plus n'exclue pas les lignes vides.
Je sais qu'il y a une possibilité avec une boucle, mais je ne sais pas faire. C'est pour ca que j'aimerais utiliser cette méthode, et trouver la solution par cette méthode.
Merci
Benoit
Frenchie83
13 déc. 2017 à 18:44
- Messages postés
- 2235
- Date d'inscription
- lundi 6 mai 2013
- Statut
- Membre
- Dernière intervention
- 5 mars 2022
13 déc. 2017 à 18:44
Je me suis trompé dans le nom de la première colonne, il faut remplacer A par C
Je vous laisse le soin d'appliquer la même méthode pour les autres feuilles.
Par contre, je ne peux pas appliquer la macro de renommage des onglets, vu que votre fichier ne comporte que 3 feuilles alors que la macro gère jusqu'à la feuille 17.
Cdlt
Dim DerLig As Long Application.Calculation = xlManual Worksheets("Données").Select DerLig = [C10000].End(xlUp).Row ActiveWorkbook.Worksheets("Données").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Données").Sort.SortFields.Add Key:=Range("C7"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Données").Sort .SetRange Range("C7:J" & DerLig) .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With
Je vous laisse le soin d'appliquer la même méthode pour les autres feuilles.
Par contre, je ne peux pas appliquer la macro de renommage des onglets, vu que votre fichier ne comporte que 3 feuilles alors que la macro gère jusqu'à la feuille 17.
Cdlt
Benoit_Lyon
13 déc. 2017 à 19:08
- Messages postés
- 98
- Date d'inscription
- vendredi 20 janvier 2017
- Statut
- Membre
- Dernière intervention
- 13 décembre 2017
13 déc. 2017 à 19:08
J'ai fait un fichier plus allégé. Normalement il y a une quinzaine de feuilles supplémentaires avec d'autres macro.
Benoit_Lyon
13 déc. 2017 à 19:09
- Messages postés
- 98
- Date d'inscription
- vendredi 20 janvier 2017
- Statut
- Membre
- Dernière intervention
- 13 décembre 2017
13 déc. 2017 à 19:09
Mais je garde votre solution sous le coude
Benoit_Lyon
13 déc. 2017 à 19:04
- Messages postés
- 98
- Date d'inscription
- vendredi 20 janvier 2017
- Statut
- Membre
- Dernière intervention
- 13 décembre 2017
13 déc. 2017 à 19:04
Bonsoir à tous,
Merci Frenchie83, pour votre réponse. Cela m'a permis de réfléchir. Ma solution était bonne, il fallait juste que le tri ne porte pas sur la colonne des Pelotons (P1, p2 ou p3) mais sur la colonne des noms, tout simplement.
Merci à vous.
Merci Frenchie83, pour votre réponse. Cela m'a permis de réfléchir. Ma solution était bonne, il fallait juste que le tri ne porte pas sur la colonne des Pelotons (P1, p2 ou p3) mais sur la colonne des noms, tout simplement.
Merci à vous.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Benoit_Lyon
13 déc. 2017 à 19:08
- Messages postés
- 98
- Date d'inscription
- vendredi 20 janvier 2017
- Statut
- Membre
- Dernière intervention
- 13 décembre 2017
13 déc. 2017 à 19:08
Comment mettons "Sujet résolu" ?