Copier Coller deux dernières lignes dont liste déroulante

Bonjour tout le monde,

J'essaye de copier coller les deux dernières lignes de mon tableau tout en gardant la mise en page et la liste déroulante (A4) mais je n'y arrive pas.

Ce que je veux copier coller au final se sont les lignes 3 et 4 pour qu'a chaque nouveau prestataire cela recrée la même chose.

Je sais que cela a été abordé plusieurs fois mais je n'arrive pas à créer une macro simple qui fait ca et à l'adapter à mon classeur.

21classeur.xlsx (14.43 Ko)

J'ai essayer avec enregistrer macro et ca :

Sub ajout_liste_presta()
Range("A" & Rows.Count).End(xlUp).Offset(1).Select
'faire une nouvelle ligne
ActiveCell.EntireRow.Insert Shift:=xlDown
'copier la ligne du dessus
ActiveCell.Offset(-1, 0).EntireRow.Copy Cells(ActiveCell.Row, 1)
On Error Resume Next
'effacer le contenu de la nouvelle ligne mais garder la forme
ActiveCell.EntireRow.ClearContents
End Sub

Et clairement ca ne va pas car ca ne prend qu'une ligne et en plus ca me la colle toujours à des endroits différents. J'ai essayé d'adapter mais étant débutant je bloc

Bonjour

Ci joint une proposition avec un tableau dynamique qui ne reproduit que la bonne ligne...

La ligne avec les formules et formats est reproduite systématiquement en se mettant sur la dernière ligne de la cellule et en faisant

Tab "Touche -->|"

Transmis à toutes fins utiles

Cordialement

FINDRH

28tableau-insert.xlsx (14.69 Ko)

C'est super pratique pour le coup mais j'ai besoin de garder les deux dernières lignes de mon classeur pour ma mise en page.

De plus j'ai besoin d'insertion car j'ai un autre tableau qui va aller en dessous (total, tva...)

En attendant j'ai trouvé ca qui fonctionne sur ma nouvelle mise en page mais je n'arrive pas à effacer les données des lignes collés. Je veux garder la mise en page et liste déroulante mais pas la valeur.

Sub ajout_presta()
x = ActiveCell.Row
Range("A25:G26").Copy
Range("A" & x & ":G" & x).Insert Shift:=xlDown
Application.CutCopyMode = False
Rows(x).RowHeight = 3
Rows(x + 1).RowHeight = 25
End Sub

Auriez vous une idée??

Bonjour,

Si vous voulez effacer le contenu de ces lignes, il vous suffit d'utiliser cette syntaxe :

Range("A1").value = ""

Dans cet exemple, on efface le contenu de la cellule A1.

En l'adaptant à votre code (si ce dernier est fonctionnel)

Range("A" & x & ":G" & x).value = ""

Cordialement,

E.

Bonjour Eriane,

J'ai insérer cette ligne dans mon code mais cela ne fonctionne pas ca n'efface rien.

En fait (pièce jointe). J'ai besoin qu'en cliquant sur le bouton de la macro ca me copie et colle les lignes 2 et 3 et s'insère en dessous à partir de la ligne 4.

17classeur1.xlsm (16.54 Ko)

j'ai une ligne fine (mise en page) et la ligne avec la liste et je veux qu'a chaque fois ca se rajoute en dessous mais sans les valeurs sélectionnes précédemment dans la liste.

J'ai essayé 100 codes.. mais il y a toujours un truc qui ne va pas alors que ca ne parait pas compliqué....

Rechercher des sujets similaires à "copier coller deux dernieres lignes liste deroulante"