Apres un post de Phil (coucou phil) qui désirait que lors d'une macro qui fait changer sa selection, l'on puisse choisir la couleur de la selection(la bordure crée)
J'ai pas trouvé mais j'ai une piste
Le code suivant permet de mettre une croix sur la case sélectionner et que lorsque l'on change de case ca coche la nouvelle et décoche la précédente
je sais ca sert a rien mais on peut imaginer sauvegarder dans des variables l'état précédent et le remettre apres le passage de la selection
declarer anciennecellule dans un module comme suit
public anciennecellule as string
puis mettre ca dans le code d'une feuille
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
With Selection.Borders(xlDiagonalDown)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
anciennecellule = Selection.Address
End Sub
Je vais essayer de faire la meme chose avec la sauvegarde des paramètres de la case choisie
maintenant on peut faire ce systeme que dans une zone (ici de D6 a Ck6)
mettre dans un module
public anciennecellule as string
mettre dans le code vba de la feuille
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If anciennecellule <> "" Then
Range(anciennecellule).Borders(xlDiagonalDown).LineStyle = xlNone
Range(anciennecellule).Borders(xlDiagonalUp).LineStyle = xlNonec
End If
Dim truc As Range
For Each truc In Range("D6:CK6")
If truc.Address = Selection.Address Then
With Selection.Borders(xlDiagonalDown)
.LineStyle = xlDash
.Weight = xlMedium
.ColorIndex = 3
End With
With Selection.Borders(xlDiagonalUp)
.LineStyle = xlDash
.Weight = xlMedium
.ColorIndex = 3
End With
End If
Next
anciennecellule = Selection.Address