Passer au contenu principal

Naviguer dans de nombreuses feuilles de calcul Excel regorgeant de données peut être difficile, et il est facile de perdre la trace de votre place ou de mal lire les valeurs. Pour améliorer votre analyse de données et réduire le risque d'erreurs, nous présenterons 3 manières différentes de mettre en évidence dynamiquement la ligne et la colonne d'une cellule sélectionnée dans Excel. Au fur et à mesure que vous vous déplacez d'une cellule à l'autre, la mise en surbrillance change dynamiquement, fournissant un repère visuel clair et intuitif pour vous permettre de rester concentré sur les données correctes, comme illustré dans la démonstration suivante :

Mettre automatiquement en surbrillance la ligne et la colonne actives dans Excel


Vidéo : Mise en surbrillance automatique des lignes et colonnes actives dans Excel


Mettre automatiquement en surbrillance la ligne et la colonne actives avec le code VBA

Pour mettre automatiquement en surbrillance toute la colonne et la ligne de la cellule sélectionnée dans la feuille de calcul actuelle, le code VBA suivant peut vous aider à accomplir cette tâche.

Étape 1 : Ouvrez la feuille de calcul dans laquelle vous souhaitez mettre automatiquement en surbrillance la ligne et la colonne actives.

Étape 2 : Ouvrez l'éditeur de module de feuille VBA et copiez le code

  1. Cliquez avec le bouton droit sur le nom de la feuille et choisissez Voir le code depuis le menu contextuel, voir capture d'écran:
  2. Dans l'éditeur de module de feuille VBA ouvert, copiez et collez le code suivant dans le module vide. Voir capture d'écran :
    Code VBA: mise en évidence automatique de la ligne et de la colonne de la cellule sélectionnée
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'Update by Extendoffice
        Dim rowRange As Range
        Dim colRange As Range
        Dim activeCell As Range
        Set activeCell = Target.Cells(1, 1)
        Set rowRange = Rows(activeCell.Row)
        Set colRange = Columns(activeCell.Column)
         Cells.Interior.ColorIndex = xlNone
        rowRange.Interior.Color = RGB(248, 150, 171)
        colRange.Interior.Color = RGB(173, 233, 249)
    End Sub
    
    Conseils : Personnalisez le code
    • Pour changer la couleur de surbrillance, il vous suffit de modifier la valeur RVB dans les scripts suivants :
      rowRange.Interior.Color = RVB (248, 150, 171)
      colRange.Interior.Color = RVB(173, 233, 249)
    • Pour mettre en surbrillance uniquement la ligne entière de la cellule sélectionnée, supprimez ou commentez (ajoutez une apostrophe devant) cette ligne :
      colRange.Interior.Color = RVB (173, 233, 249)
    • Pour mettre en surbrillance uniquement la colonne entière de la cellule sélectionnée, supprimez ou commentez (ajoutez une apostrophe devant) cette ligne :
      rowRange.Interior.Color = RVB (248, 150, 171)

  3. Ensuite, fermez la fenêtre de l'éditeur VBA pour revenir à la feuille de calcul.

Résultat:

Désormais, lorsque vous sélectionnez une cellule, la ligne et la colonne entières de cette cellule sont automatiquement mises en surbrillance et la surbrillance se déplace dynamiquement à mesure que la cellule sélectionnée change, comme dans la démonstration ci-dessous :

Notes:
  • Ce code effacera les couleurs d'arrière-plan de toutes les cellules de la feuille de calcul. Évitez donc d'utiliser cette solution si vous avez des cellules avec une coloration personnalisée.
  • L'exécution de ce code désactivera le annuler fonctionnalité dans la feuille, ce qui signifie que vous ne pouvez annuler aucune erreur en appuyant sur le bouton Ctrl + Z raccourci.
  • Ce code ne fonctionnera pas dans une feuille de calcul protégée.
  • Pour arrêter de mettre en surbrillance la ligne et la colonne de la cellule sélectionnée, vous devrez supprimer le code VBA précédemment ajouté. Après cela, réinitialisez la mise en surbrillance en cliquant sur Accueil > La couleur de remplissage > Aucun remplissage.

Mettre automatiquement en surbrillance la ligne et la colonne actives en un seul clic de Kutools

Face aux limites du code VBA dans Excel ? Kutools pour Excel's Mise au point de la grille Cette fonctionnalité est votre solution idéale ! Conçu pour combler les lacunes de VBA, il offre une gamme variée de styles de surbrillance pour améliorer votre expérience de feuille. Grâce à sa capacité à appliquer ces styles à tous les classeurs ouverts, Kutools garantit un processus de gestion des données toujours efficace et visuellement attrayant.

Notes: Si vous souhaitez l'utiliser Mise au point de la grille fonctionnalité, s'il vous plaît télécharger et installer Kutools pour Excel d'abord.

Après l'installation de Kutools for Excel, Cliquez s'il vous plait Kutools > Mise au point de la grille pour activer cette fonctionnalité. Maintenant, vous pouvez voir que la ligne et la colonne de la cellule active sont immédiatement mises en surbrillance. Cette surbrillance se déplace dynamiquement pour suivre lorsque vous modifiez votre sélection de cellules. Voir la démo ci-dessous :

Principaux avantages de la fonctionnalité Grid Focus :
  • Préserve les couleurs d'arrière-plan des cellules d'origine :
    Contrairement au code VBA, cette fonctionnalité respecte la mise en forme existante de votre feuille de calcul.
  • Utilisable en feuilles protégées :
    Cette fonctionnalité fonctionne de manière transparente dans les feuilles de calcul protégées, ce qui la rend idéale pour gérer des documents sensibles ou partagés sans compromettre la sécurité.
  • N'impacte pas la fonction Annuler :
    Avec cette fonctionnalité, vous conservez un accès complet à la fonctionnalité d'annulation d'Excel. Cela garantit que vous pouvez facilement annuler les modifications, ajoutant ainsi une couche de sécurité à la manipulation de vos données.
  • Performances stables avec des données volumineuses :
    Cette fonctionnalité est conçue pour gérer efficacement de grands ensembles de données, garantissant des performances stables, même dans des feuilles de calcul complexes et gourmandes en données.
  • Plusieurs styles de mise en évidence :
    Cette fonctionnalité offre une variété d'options de surbrillance, vous permettant de choisir parmi différents styles et couleurs pour faire ressortir votre cellule active de ligne, de colonne ou de ligne et de colonne de la manière qui correspond le mieux à vos préférences et à vos besoins.
Conseils:
  • Pour désactiver cette fonctionnalité, veuillez cliquer sur Kutools > Mise au point de la grille encore une fois pour fermer cette fonction ;
  • Pour appliquer cette fonctionnalité, veuillez télécharger et installer Kutools pour Excel d'abord.

Mettre automatiquement en surbrillance les lignes et colonnes actives avec la mise en forme conditionnelle

Dans Excel, vous pouvez également configurer la mise en forme conditionnelle pour mettre automatiquement en surbrillance la ligne et la colonne actives. Pour configurer cette fonctionnalité, veuillez suivre ces étapes :

Étape 1 : Sélectionnez la plage de données

Tout d’abord, sélectionnez la plage de cellules à laquelle vous souhaitez que cette fonctionnalité s’applique. Il peut s'agir de la feuille de calcul entière ou d'un ensemble de données spécifique. Ici, je vais sélectionner toute la feuille de calcul.

Étape 2 : accéder au formatage conditionnel

Cliquez Accueil > Mise en forme conditionnelle > Nouvelle règle, voir capture d'écran:

Étape 3 : Définissez les opérations dans la nouvelle règle de formatage

  1. Dans le Nouvelle règle de formatage boîte de dialogue, choisissez Utilisez une formule pour déterminer les cellules à formater du Sélectionnez un type de règle zone de liste.
  2. Dans le Formater les valeurs où cette formule est vraie Dans la zone , entrez l'une de ces formules, dans cet exemple, j'appliquerai la troisième formule pour mettre en évidence la ligne et la colonne actives.
    Pour mettre en surbrillance la ligne active :
    =CELL("row")=ROW()
    Pour mettre en surbrillance la colonne active :
    =CELL("col")=COLUMN()
    Pour mettre en surbrillance une ligne et une colonne actives :
    =OR(CELL("row")=ROW(), CELL("col")= COLUMN())
  3. Puis clique Format .
  4. Dans ce qui suit Format de cellule boîte de dialogue, sous la Niveau de remplissage , choisissez une couleur pour mettre en surbrillance la ligne et la colonne actives selon vos besoins, voir capture d'écran :
  5. Puis clique OK > OK pour fermer les boîtes de dialogue.

Résultat:

Maintenant, vous pouvez voir que toute la colonne et la ligne de la cellule A1 ont été mises en surbrillance en même temps. Pour appliquer cette mise en surbrillance à une autre cellule, cliquez simplement sur la cellule souhaitée et appuyez sur le bouton F9 pour actualiser la feuille, qui mettra ensuite en surbrillance toute la colonne et la ligne de la cellule nouvellement sélectionnée.

Conseils: 
  • En effet, même si l'approche de mise en forme conditionnelle pour la mise en évidence dans Excel offre une solution, elle n'est pas aussi transparente que l'utilisation de VBA et Mise au point de la grille fonctionnalité. Cette méthode nécessite un recalcul manuel de la feuille (obtenu en appuyant sur la touche F9 clé).
    Pour activer le recalcul automatique de votre feuille de calcul, vous pouvez incorporer un simple code VBA dans le module de code de votre feuille cible. Cela automatisera le processus d'actualisation, garantissant que la mise en surbrillance sera mise à jour immédiatement lorsque vous sélectionnerez différentes cellules sans appuyer sur la touche F9 clé. Veuillez cliquer avec le bouton droit sur le nom de la feuille, puis choisir Voir le code dans le menu contextuel. Copiez et collez ensuite le code suivant dans le module feuille :
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Target.Calculate
    End Sub
    
  • La mise en forme conditionnelle préserve la mise en forme existante que vous avez appliquée manuellement à votre feuille de calcul.
  • Le formatage conditionnel est connu pour être volatil, en particulier lorsqu'il est appliqué à de très grands ensembles de données. Son utilisation intensive peut potentiellement ralentir les performances de votre classeur, affectant l'efficacité du traitement des données et de la navigation.
  • La fonction CELLULE n'est disponible que dans les versions Excel 2007 et ultérieures, cette méthode n'est pas compatible avec les versions antérieures d'Excel.

Comparaison des méthodes ci-dessus

Fonctionnalité Code VBA Mise en forme conditionnelle Kutools for Excel
Conserver la couleur d'arrière-plan des cellules Non Oui Oui
Prend en charge l'annulation Non Oui Oui
Stable dans les grands ensembles de données Non Non Oui
Utilisable en feuilles protégées Non Oui Oui
S'applique à tous les classeurs ouverts Seule la feuille actuelle Seule la feuille actuelle Tous les classeurs ouverts
Nécessite une actualisation manuelle (F9) Non Oui Non

Ceci conclut notre guide sur la façon de mettre en évidence la colonne et la ligne d'une cellule sélectionnée dans Excel. Si vous souhaitez découvrir davantage de trucs et astuces Excel, notre site Web propose des milliers de didacticiels, veuillez cliquez ici pour y accéder. Merci d'avoir lu et nous sommes impatients de vous fournir des informations plus utiles à l'avenir !


Articles connexes:

  • Mise en surbrillance automatique de la ligne et de la colonne de la cellule active
  • Lorsque vous affichez une grande feuille de calcul avec de nombreuses données, vous souhaiterez peut-être mettre en surbrillance la ligne et la colonne de la cellule sélectionnée afin de pouvoir lire facilement et intuitivement les données pour éviter de les mal interpréter. Ici, je peux vous présenter quelques astuces intéressantes pour mettre en évidence la ligne et la colonne de la cellule actuelle, lorsque la cellule est modifiée, la colonne et la ligne de la nouvelle cellule sont mises en évidence automatiquement.
  • Mettez en surbrillance une ligne ou une colonne sur deux dans Excel
  • Dans une grande feuille de calcul, la mise en évidence ou le remplissage d’une ligne ou d’une colonne sur deux ou sur n améliore la visibilité et la lisibilité des données. Cela rend non seulement la feuille de calcul plus soignée, mais vous aide également à comprendre les données plus rapidement. Dans cet article, nous vous guiderons à travers différentes méthodes pour ombrer une ou une nième ligne ou colonne, vous aidant ainsi à présenter vos données de manière plus attrayante et plus simple.
  • Mettez en surbrillance la ligne entière/entière pendant le défilement
  • Si vous avez une grande feuille de calcul avec plusieurs colonnes, il vous sera difficile de distinguer les données sur cette ligne. Dans ce cas, vous pouvez mettre en surbrillance toute la ligne de la cellule active afin de pouvoir afficher rapidement et facilement les données de cette ligne lorsque vous faites défiler la barre de défilement horizontale.Cet article, je vais parler de quelques astuces pour résoudre ce problème .
  • Mettre en surbrillance les lignes en fonction de la liste déroulante
  • Cet article expliquera comment mettre en évidence les lignes en fonction de la liste déroulante, prenez la capture d'écran suivante par exemple, lorsque je sélectionne "En cours" dans la liste déroulante de la colonne E, je dois mettre en évidence cette ligne avec une couleur rouge, lorsque je sélectionnez «Terminé» dans la liste déroulante, je dois mettre en évidence cette ligne avec une couleur bleue, et lorsque je sélectionne «Non commencé», une couleur verte sera utilisée pour mettre en évidence la ligne.
Comments (61)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
And please reply to an email
This comment was minimized by the moderator on the site
Great job . But in the first task at the top of the browser page, when I did it, it was working correctly, but when I made protection for the sheet, it stopped working correctly, you see, what's the solution. Thank you
This comment was minimized by the moderator on the site
Hello,
To solve your problem, please apply the followign code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim rowRange As Range
    Dim colRange As Range
    Dim activeCell As Range
    Me.Unprotect
    Cells.Interior.ColorIndex = xlNone
    Set activeCell = Target.Cells(1, 1)
    Set rowRange = Rows(activeCell.Row)
    Set colRange = Columns(activeCell.Column)
    rowRange.Interior.Color = RGB(173, 233, 249)
    colRange.Interior.Color = RGB(173, 233, 249)
    Me.Protect
End Sub



Please have a try, hope it can help you!
This comment was minimized by the moderator on the site
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    
    ' Clear previous highlighting
    Me.Cells.FormatConditions.Delete
    
    ' Check if Checkbox1 is checked
    ' If CheckBox1.Value = True Then
        ' Check if a single cell or a range of cells is selected
        If Target.Cells.Count = 1 Or Target.Cells.Count > 1 Then
            Dim selectedRange As Range
            Dim selectedRows As Range
            Dim selectedColumns As Range
            
            Set selectedRange = Target
            Set selectedRows = Me.Range(Me.Cells(selectedRange.Row, 1), Me.Cells(selectedRange.Row + selectedRange.Rows.Count - 1, 1).EntireRow)
            Set selectedColumns = Me.Range(Me.Cells(1, selectedRange.Column), Me.Cells(1, selectedRange.Column + selectedRange.Columns.Count - 1).EntireColumn)
            
            ' Add conditional formatting to highlight the selected rows
            With selectedRows.FormatConditions.Add(Type:=xlExpression, Formula1:="=TRUE")
                .Interior.Color = RGB(255, 230, 153) ' Yellow color
            End With
            
            ' Add conditional formatting to highlight the selected columns
            With selectedColumns.FormatConditions.Add(Type:=xlExpression, Formula1:="=TRUE")
                .Interior.Color = RGB(255, 230, 153) ' Yellow color
            End With
        End If
    ' End If
    
    On Error GoTo 0
End Sub
This comment was minimized by the moderator on the site
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next

' Clear previous highlighting
Me.Cells.FormatConditions.Delete

' Check if a single cell or a range of cells is selected
If Target.Cells.Count = 1 Or Target.Cells.Count > 1 Then
Dim selectedRange As Range
Dim selectedRows As Range
Dim selectedColumns As Range

Set selectedRange = Target
Set selectedRows = Me.Range(Me.Cells(selectedRange.Row, 1), Me.Cells(selectedRange.Row + selectedRange.Rows.Count - 1, 1).EntireRow)
Set selectedColumns = Me.Range(Me.Cells(1, selectedRange.Column), Me.Cells(1, selectedRange.Column + selectedRange.Columns.Count - 1).EntireColumn)

' Add conditional formatting to highlight the selected rows
With selectedRows.FormatConditions.Add(Type:=xlExpression, Formula1:="=TRUE")
.Interior.Color = RGB(255, 230, 153) ' Yellow color
End With

' Add conditional formatting to highlight the selected columns
With selectedColumns.FormatConditions.Add(Type:=xlExpression, Formula1:="=TRUE")
.Interior.Color = RGB(255, 230, 153) ' Yellow color
End With
End If

On Error GoTo 0
End Sub
This comment was minimized by the moderator on the site
can you please post code in VBA format? trying to figure out what your code looks like from what you posted in a jumble is frustrating.
This comment was minimized by the moderator on the site
Hi,

The above code is brilliant. But i have two questions and if you can help then will be much appreciated. Let me know if there is cost associated with it.

1. The above code is removing my previous formatting of the cells. Eg. if i have got the cells filld with blue then above code clears that fill.
2. Is there a code that i can use when i am extracting values from another sheet and that row in the that sheet gets highlighted as well. Eg. I want to extract vale from another cell, so when i press = sign in sheet 1 and then when i move to sheet 2 to bring the value the row in the sheet doesn't get highlighted.

Regards,
This comment was minimized by the moderator on the site
Hello, Patel
For the first question:
It may be difficult to modify the VBA code, so, I recommend you to apply the Conditional Formatting feature for solving this problem, the following article may help you:
https://www.extendoffice.com/documents/excel/3500-excel-highlight-selected-row-conditional-formatting.html

Or you can use the Kutools for Excel' Reading Layout feature, you can try it 30 days for free.
Please download from: https://www.extendoffice.com/download/kutools-for-excel.html

For the second question:
Sorry, I can't solve this problem at present,😜
This comment was minimized by the moderator on the site
How do you modify the code so that:
1. It does not permanently strip existing colors of cells. Currently, after another cell is selected, it leaves colorless previous row. I'd like to keep the colors of the worksheet, as they were before row was highlighted by this code.
2. Limit the highlight width to only Columns A thru K, not the entire row.
This comment was minimized by the moderator on the site
Hello,
It may be difficult to modify the VBA code, so, here, I recommend you to apply the Conditional Formatting feature for solving this problem, please view the below article: (Note: if you need to highlight the column A to column K, you just need to select the range you need, and then apply the conditional formatting.)
https://www.extendoffice.com/documents/excel/3500-excel-highlight-selected-row-conditional-formatting.html


Or you can use the Kutools for Excel' Reading Layout feature, you can try it 30 days for free.
Please download from: https://www.extendoffice.com/download/kutools-for-excel.html

Please try, hope it can help you!
This comment was minimized by the moderator on the site
Thank you so much for this tip!!!
Rated 5 out of 5
This comment was minimized by the moderator on the site
Another easy way to highlight your rows: https://youtu.be/iOF06mZDGIk
This comment was minimized by the moderator on the site
FAIL. Wiped out all my other cell formatting irreversibly. And doesn't work if the sheet is protected. FAIL.
This comment was minimized by the moderator on the site
Hi Gues,The code does not work in a protected worksheet. If you want to keep the original cell formatting, please try the below code.The Reading Layout feature of Kutools is stable and handy, maybe you can download a free trial to have a try.
<div data-tag="code">Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Update 202001106
Static xRow
Static xColumn

Dim xWs As Worksheet
Dim xCRg, xCRg1, xRRg, xRRg1, xOHRg As Range
Dim xAHRORg, xAHRORg1 As Range
Dim xAWs As Worksheet
Dim xFNum As Integer
Dim xCll As Range

On Error Resume Next

Application.ScreenUpdating = False
pRow = Selection.Row
pColumn = Selection.Column

Set xWs = ActiveWorkbook.Worksheets.Item("AutoHighlightRAndC")
Set xAWs = Target.Worksheet
If xWs Is Nothing Then
Set xWs = ActiveWorkbook.Worksheets.Add
xWs.Name = "AutoHighlightRAndC"
xWs.Visible = xlSheetHidden
xAWs.Activate
End If

If xColumn <> "" Then
Set xCRg = Columns(xColumn)
xCRg.Interior.ColorIndex = xlNone
Set xCRg = Intersect(xCRg.Worksheet.UsedRange, xCRg)
For xFNum = 1 To xCRg.Count
Set xAHRORg1 = xAWs.Cells(xFNum, xColumn)
Set xAHRORg = xWs.Cells(xFNum, xColumn)
xAHRORg1.Interior.ColorIndex = xAHRORg.Interior.ColorIndex
'xCRg.Item(xFNum).Interior.ColorIndex = xWs.Columns(xColumn).Item(xFNum).Interior.ColorIndex
Next

Set xRRg = Rows(xRow)
xRRg.Interior.ColorIndex = xlNone
Set xRRg = Intersect(xCRg.Worksheet.UsedRange, xCRg)
For xFNum = 1 To xRRg.Count
Set xAHRORg1 = xAWs.Cells(xRow, xFNum)
Set xAHRORg = xWs.Cells(xRow, xFNum)
xAHRORg1.Interior.ColorIndex = xAHRORg.Interior.ColorIndex
'xRRg.Item(xFNum).Interior.ColorIndex = xWs.Rows(xRow).Item(xFNum).Interior.ColorIndex
Next

End If

xRow = pRow
xColumn = pColumn

Set xCRg = Columns(pColumn)
Set xCRg1 = Intersect(xCRg.Worksheet.UsedRange, xCRg)
For xFNum = 1 To xCRg1.Count
Set xOHRg = xWs.Cells(xFNum, pColumn)
xOHRg.Interior.ColorIndex = xCRg1.Item(xFNum).Interior.ColorIndex
Next

Set xRRg = Rows(pRow)
Set xRRg1 = Intersect(xRRg.Worksheet.UsedRange, xRRg)

For xFNum = 1 To xRRg1.Count
Set xCll = xWs.Cells(pRow, xFNum)
xCll.Interior.ColorIndex = xRRg1.Item(xFNum).Interior.ColorIndex
Next
xCRg.Interior.ColorIndex = 34
xRRg.Interior.ColorIndex = 34
Application.ScreenUpdating = True
End Sub
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations