Tri par macro
Résolu
Benoit_Lyon
Messages postés
99
Statut
Membre
-
Benoit_Lyon Messages postés 99 Statut Membre -
Benoit_Lyon Messages postés 99 Statut Membre -
bonjour à tous
https://mon-partage.fr/f/tp7jvMSu/
j'ai une macro ("Macro 3") qui me permet de trier différentes zones nommées dans différentes feuilles .
Hors, quand je la lance , elle ne trie que la première colonne, ce qui me décale les lignes dans les colonnes suivantes.
Une idée ?
Merci
Benoit
Edit: J'utilise cette macro ("Macro 3") car dans les feuilles Cotisations et juillet, les colonnes noms et Peloton/section dépendent de la feuille Données. Je remplis dans données, et les autres feuilles se mettent à jours.
Quand une nouvelle personne entre, je la saisie en fin de tableau dans "Données" , et ensuite avec Macro 3, elle se met dans l'ordre alphabétique dans toutes les feuilles en même temps.
https://mon-partage.fr/f/tp7jvMSu/
j'ai une macro ("Macro 3") qui me permet de trier différentes zones nommées dans différentes feuilles .
Hors, quand je la lance , elle ne trie que la première colonne, ce qui me décale les lignes dans les colonnes suivantes.
Une idée ?
Merci
Benoit
Edit: J'utilise cette macro ("Macro 3") car dans les feuilles Cotisations et juillet, les colonnes noms et Peloton/section dépendent de la feuille Données. Je remplis dans données, et les autres feuilles se mettent à jours.
Quand une nouvelle personne entre, je la saisie en fin de tableau dans "Données" , et ensuite avec Macro 3, elle se met dans l'ordre alphabétique dans toutes les feuilles en même temps.
A voir également:
- Macro tri excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Comment faire un tri personnalisé sur excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
5 réponses
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
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
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
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