peut etre inutile mais bon...

  • Initiateur de la discussion Popeye
  • Date de début
P

Popeye

Guest
Bonjour a toutes et a tous

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)

Range(anciennecellule).Borders(xlDiagonalDown).LineStyle = xlNone
Range(anciennecellule).Borders(xlDiagonalUp).LineStyle = xlNonec

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
 
P

Popeye

Guest
Bon bah pour phil j'ai modifié le code un peu

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

end sub
 

Discussions similaires

Statistiques des forums

Discussions
314 651
Messages
2 111 554
Membres
111 201
dernier inscrit
netcam