Ajouter un bloc de ligne à un tableau en gardant 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 (1ere colonne) suivant: ici 3. les Textes doivent être identiques, les champs en rouges doivent êtres identiques, ceux en jaunes peuvent être changés et la colonne total contient une formule.

Le layout (couleurs et bordures) doit être identique. La bordure externe doit être avec une taille plus grosse.

J'ai essayé cela (avec un copier coller du bloc 2 mais je parviens pas à garder le layout et l'auto-incrémentation:

    Range("A50").Select
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A50:F53").Select
    Selection.Copy
    Range("A50").Select
    ActiveSheet.Paste

Pourriez-vous m'aider svp?
Merci d'avance pour votre aide

Il n'y a pas de fichier, hélàs, c'est là qu'est l'os !


A+

Bonjour,

Désolé j'ai oublié de joindre le fichier.

C'est dans la 1ere feuille que je souhaite faire la modification au niveau du tableau à partir de la ligne 48 (le bouton se situe juste à côté).

Merci d'avance pour votre aide

J'ai résolu le problème avec cela:

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 bloc ligne tableau gardant layout"