OVH Cloud OVH Cloud

'

1 réponse
Avatar
blackboy
Bonjour,
Avec l'aide d'Isabelle que je remercie encore, j'ai un classeur avec une
feuille 'VarCouleur' qui sert pour la macro ci-dessous afin de colorier une
ligne définie d'après le texte inséré dans sa colonne A respective.
Si je renseigne le texte en colonne ex A4, la ligne prend bien la couleur
définie par le texte ; mais lorsque dans cette ligne (B4:R4) je note des
constantes, la couleur de la ligne disparait et il faut que je retape mon
texte en A4 pour revoir la couleur sur la ligne.
De même, lors des copier / coller (format, formule,..), j'ai toujours des
boites de dialogue 'erreur...bouton 'FIN' ou Débogage', je mets 'FIN' et
nickel. Comment éviter cela en modifiant le code.MERCI.

Private Sub Worksheet_Change(ByVal Target As Range)
Set Sh = Sheets("VarCouleur")
Set plg = Sh.Range("A1:A" & Sh.Range("A65536").End(xlUp).Row)
x = Not IsError(Application.Match(Target, plg, 0))
If Not IsError(Application.Match(Target, plg, 0)) Then

With Sheets("VarCouleur").Range("A" & Application.Match(Target, plg,
0)).Interior
CI = .ColorIndex
P = .Pattern
PCI = .PatternColorIndex
End With

With Range("B" & Target.Row & ":R" & Target.Row).Interior
.ColorIndex = CI
.Pattern = P
.PatternColorIndex = PCI
End With

Else
Range("B" & Target.Row & ":R" & Target.Row).Interior.ColorIndex = xlNone
End If


Set plg = Sh.Range("B1:B" & Sh.Range("B65536").End(xlUp).Row)
x = Not IsError(Application.Match(Target, plg, 0))
If Not IsError(Application.Match(Target, plg, 0)) Then

With Sheets("VarCouleur").Range("B" & Application.Match(Target, plg,
0)).Interior
CI = .ColorIndex
P = .Pattern
PCI = .PatternColorIndex
End With

With Range("A" & Target.Row & ":A" & Target.Row).Interior
.ColorIndex = CI
.Pattern = P
.PatternColorIndex = PCI
End With

Else
Range("A" & Target.Row & ":A" & Target.Row).Interior.ColorIndex = xlNone
End If
End Sub

1 réponse

Avatar
blackboy

Bonjour,
Avec l'aide d'Isabelle que je remercie encore, j'ai un classeur avec une
feuille 'VarCouleur' qui sert pour la macro ci-dessous afin de colorier une
ligne définie d'après le texte inséré dans sa colonne A respective.
Si je renseigne le texte en colonne ex A4, la ligne prend bien la couleur
définie par le texte ; mais lorsque dans cette ligne (B4:R4) je note des
constantes, la couleur de la ligne disparait et il faut que je retape mon
texte en A4 pour revoir la couleur sur la ligne.
De même, lors des copier / coller (format, formule,..), j'ai toujours des
boites de dialogue 'erreur...bouton 'FIN' ou Débogage', je mets 'FIN' et
nickel. Comment éviter cela en modifiant le code.MERCI.

Private Sub Worksheet_Change(ByVal Target As Range)
Set Sh = Sheets("VarCouleur")
Set plg = Sh.Range("A1:A" & Sh.Range("A65536").End(xlUp).Row)
x = Not IsError(Application.Match(Target, plg, 0))
If Not IsError(Application.Match(Target, plg, 0)) Then

With Sheets("VarCouleur").Range("A" & Application.Match(Target, plg,
0)).Interior
CI = .ColorIndex
P = .Pattern
PCI = .PatternColorIndex
End With

With Range("B" & Target.Row & ":R" & Target.Row).Interior
.ColorIndex = CI
.Pattern = P
.PatternColorIndex = PCI
End With

Else
Range("B" & Target.Row & ":R" & Target.Row).Interior.ColorIndex = xlNone
End If


Set plg = Sh.Range("B1:B" & Sh.Range("B65536").End(xlUp).Row)
x = Not IsError(Application.Match(Target, plg, 0))
If Not IsError(Application.Match(Target, plg, 0)) Then

With Sheets("VarCouleur").Range("B" & Application.Match(Target, plg,
0)).Interior
CI = .ColorIndex
P = .Pattern
PCI = .PatternColorIndex
End With

With Range("A" & Target.Row & ":A" & Target.Row).Interior
.ColorIndex = CI
.Pattern = P
.PatternColorIndex = PCI
End With

Else
Range("A" & Target.Row & ":A" & Target.Row).Interior.ColorIndex = xlNone
End If
End Sub