1 pièce(s) jointe(s)
Ce code VBA ne se réinitialise pas après un tri .
Bonjour
je suis nouveau sur ce forum et je suis débutant en vba
je voudrais mettre la cellule active en couleur jaune pour plus de lisibilité . j'ai pu avoir un code qui marche mais quand j'effectue une recherche ou un tri dans le tableau la couleur jaune ne disparaît pas . autrement dit la couleur initiale ne revient pas
merci de bien vouloir porter une solution a ce problème
voir mon tableau en pièce jointe
ps : le code ne vient pas de moi.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set champ = Range("A1:D1000")
'---- 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, 7) = "MémoAdr" Then
adr = Mid(n.Name, 8): 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émoAdr" & Replace(c.Address, "$", ""), RefersTo:=c.Interior.Color
Next c
Target.Interior.Color = CoulCurseur
End If
End Sub |