Trier en une fois deux lots de colonne et lignes [Résolu]

Signaler
Messages postés
7
Date d'inscription
lundi 21 octobre 2019
Statut
Membre
Dernière intervention
4 août 2020
-
Messages postés
7
Date d'inscription
lundi 21 octobre 2019
Statut
Membre
Dernière intervention
4 août 2020
-
Bonjour,

Je voudrai trier les colonnes D2:N20 et D22:N40 tout ça sur la même macro, est-ce possible, le tri se ferait en changeant de feuille car j'ai 10 feuilles, je veux dire que quand je vais sur la 2 et que je retourne sur la 1 le tri est fait. Merci


Configuration: Windows / Chrome 77.0.3865.120

2 réponses

Messages postés
6922
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 septembre 2020
549
Bonjour,

Tu te sers de l'enregistreur de macro pour faire ton tri.

Ensuite tu vas dans ThisWorkbook et tu mets ceci:

Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Macro1 ' a adapter le nom de la macro que tu as obtenu avec l'enregistreur
End Sub



Voilà c'est simple, à chaque changement de feuille la macro se déclenchera


Messages postés
7
Date d'inscription
lundi 21 octobre 2019
Statut
Membre
Dernière intervention
4 août 2020

Bonjour,
Cela fonctionne pour les D2:N20 Mais pas pour les lignes D22:N40, comment faire pour que cela trie, la partie 1 (D2:N20) et la partie 2 (D22:N40).
Merci.
Salutations.
Messages postés
6922
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 septembre 2020
549
Essaie avec 2 macros

et tu changes cela comme ceci:
Option Explicit

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Macro1 ' a adapter le nom de la macro que tu as obtenu avec l'enregistreur
Macro2 ' a adapter le nom de la macro que tu as obtenu avec l'enregistreur
End Sub


@+ Le Pivert
Messages postés
7
Date d'inscription
lundi 21 octobre 2019
Statut
Membre
Dernière intervention
4 août 2020

Bonjour,
J'ai trouvé une autre solution, par diablo
diablo13800 772
22 oct. 2019 à 10:55
0
Merci
Bonjour,

Vous devriez essayer de l'écrire en deux lignes:
.Range("D3:P22").Sort key1:=.Range("D3"), order1:=xlAscending, Header:=xlNo
.Range("D23:P41").Sort key1:=.Range("D23"), order1:=xlAscending, Header:=xlNo
Je vous remercie, je vais essayé votre solution pour voir qu'elle est la mieux.
Cordialement