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

Messages postés
5
Date d'inscription
lundi 21 octobre 2019
Statut
Membre
Dernière intervention
22 octobre 2019
- - Dernière réponse : Ruffain19
Messages postés
5
Date d'inscription
lundi 21 octobre 2019
Statut
Membre
Dernière intervention
22 octobre 2019
- 22 oct. 2019 à 13:44
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
Afficher la suite 

2 réponses

Messages postés
6341
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
13 novembre 2019
409
0
Merci
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


Ruffain19
Messages postés
5
Date d'inscription
lundi 21 octobre 2019
Statut
Membre
Dernière intervention
22 octobre 2019
-
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.
cs_Le Pivert
Messages postés
6341
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
13 novembre 2019
409 -
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
Commenter la réponse de cs_Le Pivert
Messages postés
5
Date d'inscription
lundi 21 octobre 2019
Statut
Membre
Dernière intervention
22 octobre 2019
0
Merci
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
Commenter la réponse de Ruffain19