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.
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
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).
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.