Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Copie de la dernière ligne avec la mise en forme et formules

Kev1407

XLDnaute Nouveau
Bonjour
Je souhaite insérer une nouvelle ligne après la dernière ligne en gardant la mise en forme et les formules.

J'ai utilisé cette macro, mais j'ai une erreur "1004" à la ligne "Selection.Insert Shift:=xlDown"

Public Sub Nouvelle_FNC()

ActiveSheet.UsedRange
Dim derniereLigne As Long
derniereLigne = (Range("A1").SpecialCells(xlCellTypeLastCell).Row)

Rows(derniereLigne).Select
Selection.Copy

Selection.Insert Shift:=xlDown
derniereLigne = (Range("A1").SpecialCells(xlCellTypeLastCell).Row)

ligne = derniereLigne - 1

Rows(derniereLigne).Select
ActiveSheet.Paste


Selection.ClearContents
Range("A" & Rows.Count).End(xlUp).Select
Range("A" & Rows.Count).End(xlUp).Copy


ActiveCell.Offset(1, 0).Select


End Sub

Pouvez vous m'aider voir aussi pour l'améliorer, je suis suis pas sur qu'elle soit la plus pratique.

Je vous remercie par avance.

Cordialement
 

Pièces jointes

  • Enregistrement FNC 2020.xlsm
    40.5 KB · Affichages: 7
Solution
Bonjour,

Comme dis précédemment par les camarades ayant répondu, vu que tu as déjà un tableau structuré, si tu as construit ton tableau correctement, les mises en formes et formules doivent se répliquer automatiquement.
Et dans ce cas, il suffit d'ajouter une ligne au tableau pour que tout se duplique automatiquement :
VB:
Public Sub Nouvelle_FNC()
    Range("Tableau2").ListObject.ListRows.Add
End Sub

Hélas tu ne sembles pas avoir construit le tableau correctement, ou du moins tu sembles avoir fait des modifications après avoir créé le tableau.

En pièce jointe ton classeur avec le tableau corrigé (enfin... j'espère).

ps : l'idéal serait peut-être bien de créer ton propre format de tableau.

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Kev,
Je ne comprends pas votre approche ou je n'ai pas compris ce que vous voulez faire.
Si le but est d'enregistrer une nouvelle FNC, comme vous disposez d'un tableau structuré qui a la caractéristique de recopier automatiquement formules et format de la ligne précédente, il vous suffit en D10 de taper une date, tout se mettra correctement :
 
C

Compte Supprimé 979

Guest
Bonjour Kev1407, Sylvanu

En partant sur la même idée, mais avec le code, ça donne ceci
VB:
Public Sub Nouvelle_FNC()
  ActiveSheet.Range("D" & Rows.Count).End(xlUp).Offset(1, 0).Value = Date
End Sub

A+
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Comme dis précédemment par les camarades ayant répondu, vu que tu as déjà un tableau structuré, si tu as construit ton tableau correctement, les mises en formes et formules doivent se répliquer automatiquement.
Et dans ce cas, il suffit d'ajouter une ligne au tableau pour que tout se duplique automatiquement :
VB:
Public Sub Nouvelle_FNC()
    Range("Tableau2").ListObject.ListRows.Add
End Sub

Hélas tu ne sembles pas avoir construit le tableau correctement, ou du moins tu sembles avoir fait des modifications après avoir créé le tableau.

En pièce jointe ton classeur avec le tableau corrigé (enfin... j'espère).

ps : l'idéal serait peut-être bien de créer ton propre format de tableau.
 

Pièces jointes

  • Enregistrement-FNC-2020_(TooFatBoy-v1).xlsm
    37 KB · Affichages: 5
Dernière édition:

Kev1407

XLDnaute Nouveau
Bonjour sylvanu,
Merci pour votre retour
Ah oui en effet mais ensuite en appuyant sur la nouvelle FNC le fichier m'ouvrira un fichier DOC à renseigner par un line hypertexte.
 

Kev1407

XLDnaute Nouveau
Merci TooFatBoy,

ça marche nickel
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…