Tri des plages avec un double clic avec Excel vba

Transférez vos rapports aux clients dans Excel, il est bon de les avoir avec quelques fonctions supplémentaires. Une des choses les plus simples à faire est d’activer les plages décroissantes en double-cliquant sur l’en-tête de colonne. Bien que cela puisse paraître compliqué, il s’agit en réalité d’une macro relativement simple.

Comment ca marche?
La macro commence par rechercher la dernière ligne de données (Recherche et sélection de la première ligne (ou colonne) vide”). Le numéro de ligne ainsi obtenu sera utilisé pour définir la plage de lignes dans laquelle le tri est effectué. La méthode de tri est utilisée pour le tri uniquement après un double-clic sur l’en-tête de colonne.
NOTE
Double-cliquer amènera Excel en mode édition, à partir duquel vous pourrez quitter en appuyant sur la touche Echap.

Private Sub Worksheet_BeforeDoubleClick(ByVal Cible As Range, Annuler As Boolean)
'Étape 1: Déclaration de la variable
Dim DerniereLigne As Long
'Étape 2: Recherchez la dernière ligne
DerniereLigne = Cells(Rows.Count, 1).End(xlUp).Row
'Étape 3: Triez par ordre croissant en double-cliquant
Rows("6:" & DerniereLigne).Sort _
Key1:=Cells(6, ActiveCell.Column), Order1:=xlAscending
End Sub
1. Premièrement, la variable appelée DerniereLigne (type de données long) est décodée, ce qui stockera le numéro de la dernière ligne contenant les données.
2. Dans la deuxième étape, le numéro de cette ligne est récupéré: la recherche commence à la dernière ligne de la feuille, puis Excel utilise les propriétés End pour aller à la première cellule contenant des données (équivaut à passer à la cellule A1048576 ou à une combinaison de touches Ctrl + Maj + flèche vers le haut).

Il convient de noter que dans ce cas, le numéro de colonne dans la cellule doit être remplacé par celui qui convient pour l’ensemble de données donné. Ainsi, si les données commencent dans la colonne J, l’instruction de la deuxième étape doit être remplacée par Cells (Rows.Count, 10) .End (xlUp). Row, car la colonne J est la dixième colonne de la feuille de calcul.

3. Dans cette étape, une plage complète de données est spécifiée. Rappelez-vous que la plage de lignes doit commencer par la première ligne de données (en-tête) et se terminer par la dernière ligne remplie. Dans ce cas, les données commencent par une ligne d’une instruction grisée, l’instruction suivante passe à la suivante: Lignes (“6:” & DerniereLigne).
L’argument Key indique quelle étendue trier.
Encore une fois, assurez-vous que la plage indiquée commence à la première ligne avec des données (désactivez l’en-tête).

Comment utiliser la macro?
Pour implémenter cette macro, copiez et collez son code dans la fenêtre Code, ajoutez-la à la méthode de gestion de l’événement Worksheet_BeforeDoubleCli ck. Le placer ici vous permet d’exécuter la macro chaque fois qu’un utilisateur coupe une feuille en double.
1. Utilisez la combinaison Alt + F11 pour activer Visual Basic Editor.
2. Dans la fenêtre Projet, recherchez le bon projet ou classeur, puis cliquez sur le signe + situé à côté. Toutes les feuilles seront affichées.
3. Sélectionnez la feuille dans laquelle vous voulez exécuter le code.
4. Sélectionnez l’option BeforeDoubleClick dans la liste déroulante Evénement.
5. Entrez ou collez le code.

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