Mise à jour des bordures automatiquement

Bonjour à tous,

J'ai un petit problème avec ces lignes de codes:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim cellule As Range
For Each cellule In Range("B10:F40")
    With cellule.Borders
        If cellule <> "" Then
        .Weight = xlThin
        Else
        .LineStyle = xlNone
        End If
    End With
Next

End Sub

Mon problème est que mon tableau "B10:F40" ne se met pas à jour automatiquement. C'est à dire que si j'ajoute une nouvelle ligne, la bordure va bien se créer, mais si j'enlève cette ligne, la mise en forme du tableau va rester sur la ligne précédente. Or je voudrai qu'elle se supprime également.

Je rajoute que je ne veux pas supprimer entièrement la cellule, mais juste le format.

Existe t'il une ligne de code qui permet de mettre à jour automatiquement le format ? Ou bien, y'a t'il une erreur que je ne vois pas sur mon code ?

Merci pour vos réponses,

Cordialement

33td-corrige.xlsm (143.61 Ko)

Bonjour et bienvenu(e)

A tester

Merci !

Ca marche impeccablement bien !

Pourrait tu m'expliquer ces lignes de codes de ce fait ? ( Je suis très loin de maitriser VBA :s )

For J = 14 To Range("D" & Rows.Count).End(xlUp).Row
      If Range("D" & J) <> "" Then
        Range("D" & J).Resize(1, 6)

Merci

Bonjour

On part de la ligne 14 jusqu'à la dernière ligne non vide de la colonne D (tu as des formules dans cette colonne)

Range("D" & Rows.Count).End(xlUp).Row

: On se positionne en bas de la page et on remonte afin de trouver la dernière ligne non vide

Range("D" & J).Resize(1, 6)

on "agrandit" la cellule testée (D...) d'une ligne et de 6 cellules à droite

Je te remercie pour ton aide rapide et efficace

Bonne soirée et joyeuses fêtes de fin d'année !

Rechercher des sujets similaires à "mise jour bordures automatiquement"