Microsoft 365 Ordre alphabétique à la fermeture d'une feuille

pompaero

XLDnaute Impliqué
Bonjour le forum,

Je viens de créer une macro pour mettre par ordre alphabétique un tableau sur 3 colonnes.
J'essais d'activer cette macro en "Private Sub Worksheet_Deactivate()" mais cela ne fonctionne pas, quel est le souci que je rencontre ??
Je viens chercher un peu d'aide sur un quelque chose de simple j'imagine.
Voici la macro qui tri sur 3 colonnes :
VB:
Sub Trier()
    With Sheets("Données")
    Range("A1:I" & [A65536].End(3).Row).Sort Key1:=Range("A2"), Order1:=xlAscending, _
    Key2:=Range("B2"), Order2:=xlAscending, Key3:=Range("C2"), Order3:=xlAscending, _
    Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=xlSortNormal
    End With
End Sub
puis le code la feuille concernée :
Code:
Private Sub Worksheet_Deactivate()
  Call Trier
End Sub

Merci à vous
Cdlt
pompaero
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @pompaero,

Pourquoi donc triez-vous une plage commençant à la ligne 1 sur des critères de tri en ligne 2 ?

Je suppose que vous connaissez bien votre tableau. Dans ce cas, vous savez si la plage à trier comporte des en-têtes ou non. Ne laissez pas Excel le deviner. Indiquer pour Header soit xlYes soit xlNo mais pas xlGuess.
 

pompaero

XLDnaute Impliqué
Bonjour, mapomme, fanch55,

L’imbéc... que je fais, le pire c'est que je le sais l'histoire du point "même pas vu non plus"
j'ai remis la macro dans la feuille concernée comme conseillé et tout semble fonctionner parfaitement.
Merci à vous, bonne journée.

Cdlt
pompaero
 

Discussions similaires