ligne de couleur pour cellule active

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

matthieu69

XLDnaute Nouveau
bonjour à tous,


je cherche depuis quelque jour une solution pour que la ligne ou j'ai ma cellule active
soit d'un couleur peu importe la couleur mais je ne trouve rien qui marche je désespère.

j'espere que vous pourrez m'aider
 
Re : ligne de couleur pour cellule active

j'ai trouver mon bonheur

Private Sub Worksheet_SelectionChanges ()
Set champ = [a1:l500]
col1 = champ.Column
col2 = champ.Column + champ.Columns.Count - 1
lig1 = champ.Row
lig2 = champ.Row + champ.Rows.Count - 1
For Each n In ActiveWorkbook.Names
If n.Name = "mémoNcol" Then trouvé = True
Next n
If trouvé Then
'---- restitution des couleurs
For i = 1 To [mémoNCol]
x = "mémoAdrCol" & i
a = Evaluate([x])
x = "mémoCoulCol" & i
b = Evaluate([x])
Range(a).Interior.ColorIndex = b
Next i
For i = 1 To [mémoNlig]
x = "mémoAdrLig" & i
a = Evaluate([x])
x = "mémoCoulLig" & i
b = Evaluate([x])
Range(a).Interior.ColorIndex = b
Next i
End If
'--- mémorisation des couleurs --------------------------
If Not Intersect(champ, Target) Is Nothing And Target.Count = 1 Then
ncol = col2 - col1 + 1
ActiveWorkbook.Names.Add Name:="mémoNcol", RefersToR1C1:= _
"=" & Chr(34) & ncol & Chr(34)
For i = 1 To ncol
ActiveWorkbook.Names.Add Name:="mémoAdrCol" & i, RefersToR1C1:= _
"=" & Chr(34) & Cells(Target.Row, i + col1 - 1).Address & Chr(34)
ActiveWorkbook.Names.Add Name:="mémoCoulCol" & i, RefersToR1C1:= _
"=" & Cells(Target.Row, i + col1 - 1).Interior.ColorIndex
Next i
'--
nlig = lig2 - lig1 + 1
ActiveWorkbook.Names.Add Name:="mémoNlig", RefersToR1C1:= _
"=" & Chr(34) & nlig & Chr(34)
For i = 1 To nlig
ActiveWorkbook.Names.Add Name:="mémoAdrLig" & i, RefersToR1C1:= _
"=" & Chr(34) & Cells(i + lig1 - 1, Target.Column).Address & Chr(34)
ActiveWorkbook.Names.Add Name:="mémoCoulLig" & i, RefersToR1C1:= _
"=" & Cells(i + lig1 - 1, Target.Column).Interior.ColorIndex
Cells(i + lig1 - 1, Target.Column).Interior.ColorIndex = 36
Next i
For i = 1 To ncol: Cells(Target.Row, i + col1 - 1).Interior.ColorIndex = 36: Next i
End If
End Sub


mais quand je la lance il y a :

"If Not Intersect(champ, Target) Is Nothing And Target.Count = 1 Then"

qui se met en erreur pourquoi
 
Re : ligne de couleur pour cellule active

Re,

Récupérer un code et l'adapter, c'est bien ... mais on ne peut pas -comme avec des antipasti- choisir un peu de ceci et pas de cela! 🙁
Tant qu'à recopier (tu aurais déjà pu commencer par une version plus "simple"!), il faut au moins recopier ... sans rien oublier!
L'idéal (oui ça demande du temps et pas mal d'efforts) est d'essayer de comprendre ce qu'on utilise ... fais une recherche sur le net au sujet de "Worksheet_SelectionChange" la raison du message d'erreur devrait te sauter aux yeux ... en espérant qu'il n'y en ait pas d'autres après!

Allez, courage! 🙂
 
Re : ligne de couleur pour cellule active

je revien vers vous donc j'ai trouver un code simple que je comprend mais étend un novice en VBA je ne trouve pas comment faire en sorte que la macro reste active et donc que le changement de couleur suive mon curseur si quelqu'un a une idée 🙂

Private Sub Worksheet_SelectionChange()
Cells.Interior.ColorIndex = xlNone
With ActiveCell
.EntireRow.Interior.ColorIndex = 35
End With
End Sub
 
Re : ligne de couleur pour cellule active

Bjr Matthieu et Modeste

Comme ça :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlNone
With ActiveCell
.EntireRow.Interior.ColorIndex = 35
End With
End Sub

cordialement, Gérard
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
310
Réponses
12
Affichages
222
Retour