Salut a tous.
J'ai trouvé un code VBA pour modifier la couleur de sélection.
Le code fonctionne très bien pour une seul sélection mais pas pour plusieurs.
Voici le code en question:
Public Old_Selection
Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Old_Selection = "" Then 'si il n'a pas de sélection, on remet à l'origine
With Range(Old_Selection)
With .Borders 'Les bordures
.LineStyle = xlNone
End With
With .Interior 'L'intérieur de la ou les cellules
.ColorIndex = xlNone
End With
End With
End If
Old_Selection = Target.Address
With Target 'Avec la ou les cellules sélectionnées
With .Borders 'On passe les bordures avec des lignes continues de couleur ROUGE (3)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 3
End With
With .Interior 'Avec l'intérieur de la ou les cellules on les remplies de la couleur BLEU CLAIR (34)
.ColorIndex = 34
End With
End With
End Sub
Et voici l'erreur qu'il me met:
La méthode 'Range' de l'objet '_worksheet' à échoué.
Je n'arrive pas à comprendre ce qui ce passe.
Merci d'avance.
J'ai trouvé un code VBA pour modifier la couleur de sélection.
Le code fonctionne très bien pour une seul sélection mais pas pour plusieurs.
Voici le code en question:
Public Old_Selection
Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Old_Selection = "" Then 'si il n'a pas de sélection, on remet à l'origine
With Range(Old_Selection)
With .Borders 'Les bordures
.LineStyle = xlNone
End With
With .Interior 'L'intérieur de la ou les cellules
.ColorIndex = xlNone
End With
End With
End If
Old_Selection = Target.Address
With Target 'Avec la ou les cellules sélectionnées
With .Borders 'On passe les bordures avec des lignes continues de couleur ROUGE (3)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 3
End With
With .Interior 'Avec l'intérieur de la ou les cellules on les remplies de la couleur BLEU CLAIR (34)
.ColorIndex = 34
End With
End With
End Sub
Et voici l'erreur qu'il me met:
La méthode 'Range' de l'objet '_worksheet' à échoué.
Je n'arrive pas à comprendre ce qui ce passe.
Merci d'avance.