Ajouter des lignes à un tableau en respectant la sécurité et le layout

Bonjour,

je possède un tableau excel auquel je souhaiterais ajouter des lignes:

image

Je souhaiterais ajouter un bloc de 4 lignes à la fin du tableau. Ce bloc doit être identique au précédent excepté qu'il doit commencer avec le numéro de la 1ere colonne incrémenté (ici 3). Les textes doivent être identiques: les champs en rouges doivent êtres identiques et non éditables (les cellules devront avoir le paramètre locked), ceux en jaunes peuvent être changés et la colonne TOTAL contient une formule et ne doit pas être éditable (les cellules devront avoir le paramètre locked).

Pour respecter la sécurité, j'ai mis les cellule en locked et verrouillé la feuille (mot de passe: 000)

Le layout (couleurs et bordures) doit être identique. En particulier La bordure externe du tableau et des sections doit être avec une taille plus grosse que les lignes simples.

J'ai essayé cela mais cela ne fonctionne pas:

Sub AddANewPrivateExpert()

Dim DerniereLigne As Long
    Dim Sh As Worksheet

    Set Sh = ActiveSheet.ListObjects("PrivateExpertTable")
    With Sh
         DerniereLigne = .Cells(.Rows.Count, "F").End(xlUp).Row
         .Range(.Cells(DerniereLigne - 3, "A"), .Cells(DerniereLigne, "F")).Copy Destination:=.Cells(DerniereLigne + 1, "A")
         .Range(.Cells(DerniereLigne + 1, "A"), .Cells(DerniereLigne + 1, "F")).Borders(xlEdgeTop).Weight = xlMedium
         .Cells(DerniereLigne + 1, "A") = .Cells(DerniereLigne - 3, "A") + 1
         .Range(.Cells(DerniereLigne + 2, "D"), .Cells(DerniereLigne + 3, "D")).ClearContents
    End With
    Set Sh = Nothing
End Sub

Ici le fichier:

12meetings-web.xlsm (76.66 Ko)

Pourriez-vous m'aider svp?

Merci d'avance pour votre aide

Ici la réponse à mon problème:

Sub AddANewPrivateExpert()

Dim DerniereLigne As Long
Dim Sh As Worksheet

    Set Sh = ActiveSheet
    With Sh
         DerniereLigne = .Cells(.Rows.Count, "F").End(xlUp).Row
         .Range(.Cells(DerniereLigne + 1, "A"), .Cells(DerniereLigne + 4, "F")).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
         .Range(.Cells(DerniereLigne - 3, "A"), .Cells(DerniereLigne, "F")).Copy Destination:=.Cells(DerniereLigne + 1, "A")
         .Range(.Cells(DerniereLigne + 1, "A"), .Cells(DerniereLigne + 1, "F")).Borders(xlEdgeTop).Weight = xlMedium
         .Cells(DerniereLigne + 1, "A") = .Cells(DerniereLigne - 3, "A") + 1
         .Range(.Cells(DerniereLigne + 2, "D"), .Cells(DerniereLigne + 3, "D")).ClearContents
    End With
    Set Sh = Nothing

End Sub
Rechercher des sujets similaires à "ajouter lignes tableau respectant securite layout"