Macro événementielle change format si valeur change

Bonjour,

Je souhaite une macro qui met en bordure si la valeure de la cellule change, j'ai fait de test :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("B:O")) Is Nothing Then

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlThin

End With

End If

End Sub

mais le problème de ce code est que la bordure apparait juste en selectionnant la cellule et non quand la valeur de celle-ci change.

ensuite j'ai fait un test avec :

Private Sub Worksheet_Change(ByVal Target As Range)

mais là cela effectue la nouvelle mise en page sur la cellule qui est selectionné après celle qui a changer.

Merci pour votre aide

Bonjour,

Refaire avec _Change en remplaçant Tous les "Selection" par "Target"

A=

Bonjour,

Pour résumer :

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("B:O")) Is Nothing Then
        Target.Borders.Weight = xlThin
    End If
End Sub

Cdlt.

J'ai essaye en copiant collant le code mais cela change dès que je clic sur la cellule, et j'ai également essaye en modifiant :

Private Sub Worksheet_TargetChange(ByVal Target As Range)

mais là cela ne fait plus rien.


Autant pour moi j'ai compris, a partir de mon code initial okokok, merci beaucoup, vraiment merci.

Bonjour,

Une proposition de code ...

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("B:O")) Is Nothing Then Exit Sub
If Target.Value <> "" Then
    Target.Borders.Weight = xlThin
Else
    Target.Borders.LineStyle = xlNone
End If
End Sub
Rechercher des sujets similaires à "macro evenementielle change format valeur"