peut etre inutile mais bon...

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL pour MAC Recherche date
Réponses
5
Affichages
2 K
Réponses
1
Affichages
597
Compte Supprimé 979
C
Réponses
13
Affichages
3 K
Réponses
1
Affichages
598
Retour