Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Cellule active

J

Jean-Edouard

Guest
Salut le forum !!!

Je souhaite "colorer" la lgne et la colonne de la cellule sur laquelle je me trouve.
Je m'explique si je suis en D1
- la ligne 1 est colorée
- la colonne D aussi

si je passe en D2
- la ligne 1 n'est plus colorée
- la ligne 2 est colorée
- la colonne D aussi

Quelqu'un peut-il m'aider ?

D'avance, merci.

Jed
 
J

jmps

Guest
Bonjour Jean-Edouard,

Regarde si ça te convient. Il faut changer de cellule pour initialiser le processus.

A+

José
 

Pièces jointes

  • JE_cellule.zip
    9.1 KB · Affichages: 27
@

@+Thierry

Guest
Bonjour José, Jean Edouard, le Forum

Oups à la bourre sur ce coup là, grillé à plate couture par mon ami José !

Enfin comme je sais pas comment tu as procédé (pas de download sur une station sensible), je poste ma trouvaille :


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Col As Integer, Lig As Integer

Cells.Interior.ColorIndex = xlNone

Lig = Target.Row
Col = Target.Column

Columns(Col).Interior.ColorIndex = 6
Rows(Lig).Interior.ColorIndex = 6

End Sub

NB à mettre en Private Module de la Feuille en question...

NB2, attention effacera toutes les mise en couleur des cellules de la feuille

Bon App
 
J

jmps

Guest
Hello Thierry,

J'ai eu une autre approche avec mémorisation de l'ancienne cellule active pour éviter de remettre toute la feuille à blanc à chaque fois.

Dans un module :

Public OldTarget As String

Dans le module de la feuille :

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If OldTarget <> "" Then
Range(OldTarget).EntireRow.Interior.ColorIndex = xlNone
Range(OldTarget).EntireColumn.Interior.ColorIndex = xlNone
End If
Target.EntireRow.Interior.ColorIndex = 17
Target.EntireColumn.Interior.ColorIndex = 17
OldTarget = Target.Address
End Sub

Je dois reconnaître que ton code est plus concis, on sent le vieux routard ;°))

Bon appétit aussi.

A+

José
 
J

jmps

Guest
Re Jean-Edourd, Thierry,

Si je puis me permettre une rectification de ton code Thierry :

Dim Col As Byte, Lig As Long

En effet un Byte est suffisant pour les colonnes, par contre un Integer ne suffit pas pour les lignes car si on sélectionne une ligne au delà de 32767, ça plante.

Aïe ! Pas taper Thierry ! Lol !!!

A+

José
 

Discussions similaires

Réponses
2
Affichages
240
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…