Comment mettre en évidence la ligne et la colonne actives dans Excel

  • Partage Ça
Michael Brown

Dans ce tutoriel, vous apprendrez 3 façons différentes de mettre dynamiquement en évidence la ligne et la colonne d'une cellule sélectionnée dans Excel.

Lorsque vous consultez une grande feuille de calcul pendant un long moment, vous pouvez finir par perdre la trace de l'emplacement de votre curseur et des données que vous regardez. Pour savoir exactement où vous vous trouvez à tout moment, faites en sorte qu'Excel mette automatiquement en évidence la ligne et la colonne actives pour vous ! Naturellement, la mise en évidence doit être dynamique et changer chaque fois que vous sélectionnez une autre cellule. C'est essentiellement ce que nous voulons réaliser :

    Mise en évidence automatique de la ligne et de la colonne de la cellule sélectionnée avec VBA

    Cet exemple montre comment vous pouvez mettre en évidence une colonne et une ligne actives de manière programmatique avec VBA. Pour cela, nous utiliserons la fonction SelectionChange de l'événement Feuille de travail objet.

    Tout d'abord, vous effacez la couleur d'arrière-plan de toutes les cellules de la feuille en définissant l'attribut ColorIndex à 0. Ensuite, vous mettez en évidence la ligne et la colonne entières de la cellule active en définissant leur propriété ColorIndex au numéro d'index de la couleur souhaitée.

    Private Sub Worksheet_SelectionChange( ByVal Target As Range) If Target.Cells.Count> ; 1 Then Exit Sub Application.ScreenUpdating = False 'Clear the color of all cells Cells.Interior.ColorIndex = 0 With Target 'Highlight row and column of the selected cell .EntireRow.Interior.ColorIndex = 38 .EntireColumn.Interior.ColorIndex = 24 End With Application.ScreenUpdating = True End Sub

    Personnalisation du code

    Si vous souhaitez adapter le code à vos besoins, ces petits conseils peuvent vous être utiles :

    • Notre exemple de code utilise deux couleurs différentes, comme le montre le gif ci-dessus - l'indice de couleur 38 pour la ligne et 24 pour la colonne. To changer la couleur de la surbrillance il suffit de les remplacer par les codes ColorIndex de votre choix.
    • Pour obtenir la ligne et la colonne colorées dans le fichier même manière utilisez le même numéro d'indice de couleur pour les deux.
    • Pour ne mettre en évidence que les ligne active supprimer ou commenter cette ligne : .EntireColumn.Interior.ColorIndex = 24
    • Pour ne mettre en évidence que les colonne active supprimer ou commenter cette ligne : .EntireRow.Interior.ColorIndex = 38

    Comment ajouter le code à votre feuille de calcul

    Pour que le code s'exécute silencieusement en arrière-plan d'une feuille de calcul spécifique, il faut l'insérer dans la fenêtre de code appartenant à cette feuille de calcul, et non dans le module normal. Pour cela, il faut suivre les étapes suivantes :

    1. Dans votre classeur, appuyez sur Alt + F11 pour accéder à l'éditeur VBA.
    2. Dans l'explorateur de projet, à gauche, vous verrez une liste de tous les classeurs ouverts et de leurs feuilles de calcul. Si vous ne la voyez pas, utilisez le raccourci Ctrl + R pour afficher la fenêtre de l'explorateur de projet.
    3. Trouvez le classeur cible. Dans son Objets Microsoft Excel double-cliquez sur la feuille dans laquelle vous voulez appliquer la mise en évidence. Dans cet exemple, il s'agit de Feuille 1 .
    4. Dans la fenêtre Code à droite, collez le code ci-dessus.
    5. Enregistrez votre fichier comme Classeur à macros (.xlsm).

    Avantages : tout est fait en arrière-plan ; aucun ajustement/personnalisation n'est nécessaire du côté de l'utilisateur ; fonctionne dans toutes les versions d'Excel.

    Inconvénients Il existe deux inconvénients essentiels qui rendent cette technique inapplicable dans certaines circonstances :

    • Le code efface les couleurs de fond Si vous avez des cellules colorées, n'utilisez pas cette solution car votre mise en forme personnalisée sera perdue.
    • Exécution de ce code blocs la fonctionnalité d'annulation sur la feuille, et vous ne pourrez pas annuler une action erronée en appuyant sur Ctrl + Z .

    Mettre en évidence la ligne et la colonne actives sans VBA

    Le meilleur moyen de mettre en évidence la ligne et/ou la colonne sélectionnée sans VBA est le formatage conditionnel d'Excel. Pour le mettre en place, procédez comme suit :

    1. Sélectionnez votre jeu de données dans lequel la mise en évidence doit être effectuée.
    2. Sur le Accueil dans l'onglet Styles cliquez sur Nouvelle règle .
    3. Dans le Nouvelle règle de formatage sélectionnez Utilisez une formule pour déterminer les cellules à mettre en forme .
    4. Dans le Formatez les valeurs pour lesquelles cette formule est vraie saisissez l'une de ces formules :

      Pour mettre en évidence ligne active :

      =CELL("row")=ROW()

      Pour mettre en évidence colonne active :

      =CELL("col")=COLUMN()

      Pour mettre en évidence ligne et colonne actives :

      =OR(CELL("row")=ROW(), CELL("col")= COLUMN())

      Toutes les formules utilisent la fonction CELL pour renvoyer le numéro de ligne/colonne de la cellule sélectionnée.

    5. Cliquez sur le bouton Format pour passer à la Remplir et sélectionnez la couleur qui vous convient.
    6. Cliquez deux fois sur OK pour fermer les deux fenêtres de dialogue.

    Si vous avez besoin d'instructions plus détaillées, veuillez consulter la rubrique Comment créer une règle de mise en forme conditionnelle basée sur une formule.

    Pour cet exemple, nous avons opté pour la formule OR afin d'ombrer la colonne et la ligne de la même couleur, ce qui demande moins de travail et convient à la plupart des cas.

    Malheureusement, cette solution n'est pas aussi agréable que celle de VBA car elle nécessite recalculer la feuille manuellement (en appuyant sur la touche F9). Par défaut, Excel ne recalcule une feuille de calcul qu'après la saisie de nouvelles données ou la modification de la feuille existante, mais pas lorsque la sélection change. Vous sélectionnez donc une autre cellule - rien ne se passe. Appuyez sur F9 - la feuille est rafraîchie, la formule est recalculée et la mise en évidence est mise à jour.

    Pour que la feuille de calcul soit recalculée automatiquement chaque fois que l'option SelectionChange se produit, vous pouvez placer ce simple code VBA dans le module de code de votre feuille cible comme expliqué dans l'exemple précédent :

    Private Sub Worksheet_SelectionChange( ByVal Target As Range) Target.Calculate End Sub

    Le code oblige la plage/cellule sélectionnée à se recalculer, ce qui oblige la fonction CELL à se mettre à jour et la mise en forme conditionnelle à refléter le changement.

    Avantages : contrairement à la méthode précédente, celle-ci n'a pas d'incidence sur le formatage existant que vous avez appliqué manuellement.

    Inconvénients : peut détériorer les performances d'Excel.

    • Pour que la mise en forme conditionnelle fonctionne, vous devez forcer Excel à recalculer la formule à chaque changement de sélection (soit manuellement avec la touche F9, soit automatiquement avec VBA). Les recalculs forcés peuvent ralentir votre Excel. Étant donné que notre code recalcule la sélection plutôt que la feuille entière, un effet négatif ne sera probablement perceptible que sur des classeurs vraiment grands et complexes.
    • La fonction CELL étant disponible à partir de la version 2007 d'Excel, cette méthode ne fonctionnera pas dans les versions antérieures.

    Mettre en évidence la ligne et la colonne sélectionnées à l'aide du formatage conditionnel et de VBA

    Si la méthode précédente ralentit considérablement votre classeur, vous pouvez aborder la tâche différemment - au lieu de recalculer une feuille de calcul à chaque déplacement de l'utilisateur, obtenez le numéro de la ligne/colonne active à l'aide de VBA, puis servez ce numéro à la fonction ROW() ou COLUMN() en utilisant des formules de formatage conditionnel.

    Pour ce faire, voici les étapes que vous devez suivre :

    1. Ajoutez une nouvelle feuille vierge à votre classeur et nommez-la Fiche d'aide Le seul objectif de cette feuille est de stocker deux nombres représentant la ligne et la colonne contenant une cellule sélectionnée, afin que vous puissiez masquer la feuille ultérieurement.
    2. Insérez le VBA ci-dessous dans la fenêtre de code de la feuille de calcul où vous souhaitez mettre en œuvre la mise en évidence. Pour des instructions détaillées, veuillez vous reporter à notre premier exemple. Private Sub Worksheet_SelectionChange( ByVal Target As Range) Application.ScreenUpdating = False Worksheets( "Helper Sheet" ).Cells(2, 1) = Target.Row Worksheets( "Helper Sheet" ).Cells(2, 2) = Target.Column Application.ScreenUpdating= True End Sub

      Le code ci-dessus place les coordonnées de la ligne et de la colonne actives dans la feuille nommée "Helper Sheet". Si vous avez nommé votre feuille différemment à l'étape 1, modifiez le nom de la feuille de calcul dans le code en conséquence. Le numéro de ligne est écrit dans A2 et le numéro de colonne dans B2.

    3. Dans votre feuille de calcul cible, sélectionnez l'ensemble des données et créez une règle de mise en forme conditionnelle avec les formules ci-dessous. L'exemple ci-dessus vous guidera pas à pas.

    Et maintenant, couvrons en détail les trois principaux cas d'utilisation.

    Comment mettre en évidence la ligne active

    Pour mettre en évidence la ligne où votre curseur est placé en ce moment, configurez une règle de mise en forme conditionnelle avec cette formule :

    =ROW()='Helper Sheet'!$A$2

    Ainsi, l'utilisateur peut clairement voir quelle ligne est actuellement sélectionnée :

    Comment mettre en évidence la colonne active

    Pour mettre en évidence la colonne sélectionnée, introduisez le numéro de la colonne dans la fonction COLONNE à l'aide de cette formule :

    =COLUMN()='Helper Sheet'!$B$2

    Désormais, une colonne surlignée vous permet de lire confortablement et sans effort les données verticales en vous concentrant entièrement sur elles.

    Comment mettre en évidence la ligne et la colonne actives

    Pour que la ligne et la colonne sélectionnées soient automatiquement ombrées de la même couleur, combinez les fonctions ROW() et COLUMN() en une seule formule :

    =OR(ROW()='Helper Sheet'!$A$2, COLUMN()='Helper Sheet'!$B$2)

    Les données pertinentes sont immédiatement mises en évidence, ce qui vous permet d'éviter toute erreur de lecture.

    Avantages performances optimisées ; fonctionne dans toutes les versions d'Excel

    Inconvénients : la plus longue installation

    Voilà comment mettre en évidence la colonne et la ligne d'une cellule sélectionnée dans Excel. Je vous remercie de votre lecture et j'ai hâte de vous retrouver sur notre blog la semaine prochaine !

    Cahier d'exercices à télécharger

    Mise en évidence de la ligne et de la colonne actives (fichier .xlsm)

    Michael Brown est un passionné de technologie passionné par la simplification de processus complexes à l'aide d'outils logiciels. Avec plus d'une décennie d'expérience dans l'industrie de la technologie, il a perfectionné ses compétences dans Microsoft Excel et Outlook, ainsi que dans Google Sheets et Docs. Le blog de Michael est dédié au partage de ses connaissances et de son expertise avec les autres, en fournissant des conseils et des tutoriels faciles à suivre pour améliorer la productivité et l'efficacité. Que vous soyez un professionnel chevronné ou un débutant, le blog de Michael offre des informations précieuses et des conseils pratiques pour tirer le meilleur parti de ces outils logiciels essentiels.