Colorer ligne et colonne excel

Signaler
Messages postés
274
Date d'inscription
lundi 12 octobre 2009
Statut
Membre
Dernière intervention
27 avril 2021
-
Messages postés
274
Date d'inscription
lundi 12 octobre 2009
Statut
Membre
Dernière intervention
27 avril 2021
-
Bonjour à tous

J'aimerai savoir s'il est possible de surligner les lignes et colonnes quand on sélectionne une case sur Excel

Exemple je sélectionne B10 toute la colonne B et la ligne 10 sont en couleur.

Merci à tous :)

2 réponses

Messages postés
3248
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
9 mai 2021
909
Bonjour

Je pense que ça peut ce faire avec du VBA.

Voir >>>ICI<<< les codes proposés.

Cordialement
Messages postés
2788
Date d'inscription
samedi 16 février 2019
Statut
Membre
Dernière intervention
30 avril 2021
534
Bonjour,

Pas possible sans passer par du VB à m'a connaissance.

Par contre en VB voir l'article ici = https://docs.microsoft.com/fr-fr/office/vba/excel/concepts/cells-and-ranges/highlight-the-active-cell-row-or-column

Code à mettre en worksheet et sur "selection change"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
Application.ScreenUpdating = False
' Reinitialise la couleur de toutes les cellules
Cells.Interior.ColorIndex = 0
With Target
' Met en surbrillance la colonne et la ligne de la cellule active (8 = code couleur à personnaliser)
.EntireRow.Interior.ColorIndex = 8
.EntireColumn.Interior.ColorIndex = 8
End With
Application.ScreenUpdating = True
End Sub


Par contre si vous avez des couleurs de cellule sur la feuille concerné ça supprime tout

Cdlt.
Messages postés
274
Date d'inscription
lundi 12 octobre 2009
Statut
Membre
Dernière intervention
27 avril 2021
7
Merci pour la proposition mais je ne veux pas que ca supprimes mes couleurs existantes.

Dans un autre de mes fichiers j'utilise cette formule qui me sert à colorer une case sélectionnée

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set champ = Range("B8:J1000")
'---- restitution couleurs
If Not Intersect(champ, Target) Is Nothing And Target.Count < 100 Then
CoulCurseur = RGB(255, 255, 0)
For Each n In ActiveWorkbook.Names
If Left(n.Name, 11) = "MémoCouleur" Then
Adr = Mid(n.Name, 12): coul = Val(Mid(n, 2)): If coul = 16777215 Then coul = xlNone
If Range(Adr).Interior.Color = CoulCurseur Then Range(Adr).Interior.Color = coul
End If
Next n
'------ sauvegarde couleurs
For Each n In ActiveWorkbook.Names
If Left(n.Name, 7) = "MémoAdr" Then n.Delete
Next n
For Each c In Target
ActiveWorkbook.Names.Add Name:="MémoCouleur" & Replace(c.Address, "$", ""), RefersTo:=c.Interior.Color
Next c
Target.Interior.Color = CoulCurseur
End If
End Sub