Macro ou événement pour trier les données avant d’enregistrer, Excel VBA

Imaginez que vous avez un classeur que vous modifiez très souvent. Par exemple, vous pouvez y saisir des données dans une liste d’employés. Avant d’enregistrer et de quitter le classeur, vous souhaitez que la base de données entière soit triée afin que vous n’ayez pas à démarrer le processus de tri la prochaine fois que vous la mettez à jour.

Dès que vous enregistrez le classeur, l’événement suivant, qui trie les données par ordre croissant par nom d’employé démarre.

Private Sub Workbook_BeforeSave _
(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Employes").Activate
ActiveSheet.UsedRange.Select
Selection.Sort Key1:= _
Range("A2"), Order1:=xlAscending, Key2:=Range("E2"), _
Order2:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
End Sub

 

Commentaires:

Dans la procédure événementielle, un basculement est effectué vers la feuille de calcul Employes et la zone utilisée est marquée à l’aide de la propriété UsedRange. Ensuite, la méthode Sort est utilisée pour trier les données. Le classeur est enregistré immédiatement après le tri.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x