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

Copier/Coller 3 dernières lignes d'une feuille

  • Initiateur de la discussion Initiateur de la discussion Bens77
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Bens77

XLDnaute Nouveau
Bonjour à tous,

Après recherche sur le forum, et sur le net, je ne trouve qu'une partie de ma solution.
Voici mon problème :
j'ai un fichier pour lequel les données de la dernière ligne de la feuille 1 sont récupérées dans d'autres onglet.
Chaque jour, la ligne de ce fichier doit être dupliquée (changement de date) et les données des autres onglets mis à jour.

Sans prendre en compte le format du fichier, je fais actuellement un copier/coller de ma dernière ligne, que je colle en dernière ligne+1, puis un copier/coller "valeur" de ma dernière ligne pour pouvoir mettre à jour les autres onglets sans modifier les données des jours précédents.

Je cherche donc un code VBA (ou autres) me permettant d'automatiser ces différents copier/coller.

Problème supplémentaire, le format du fichier veut qu'il y ait une ligne vide avant et après ma dernière ligne de donnée. Ce format n'est malheureusement pas modifiable.

Je vous joint le format de mon fichier.

J'espère que vous pourrez m'aider 🙂

Bonne soirée
 

Pièces jointes

Re : Copier/Coller 3 dernières lignes d'une feuille

Bonsoir à tous

Avec ce que j'ai compris du problème, une proposition à tester
Code:
Sub a()
Dim dl&, nd
dl = Sheets("TEST").Cells(Rows.Count, 1).End(xlUp).Row - 1
nd = Cells(dl + 1, 1) + 1
Rows(dl).Resize(3).Copy Rows(dl + 3)
dl = Sheets("TEST").Cells(Rows.Count, 1).End(xlUp).Row - 1
Cells(dl + 1, 1) = nd
End Sub
 
Re : Copier/Coller 3 dernières lignes d'une feuille

Bonjour JM et merci,
J'ai testé le code.
La 1ère étape fonctionne très bien, les 3 dernières lignes du fichier sont bien copiées et collées à la suite.
Par contre la 2ème partie qui consiste à faire le copier/coller "valeur" pour supprimer les formules ne fonctionne pas.
D'après ce que j'ai compris du code, il me semble que cette partie n'y figure pas.
Le code est il adaptable avec cette contrainte supplémentaire ?
Je joins un fichier avec les données qui devraient être "en dur" en rouge.
Merci pour votre aide
 

Pièces jointes

Re : Copier/Coller 3 dernières lignes d'une feuille

Bonsoir à tous

Bens77
Et avec cette macro, c'est OK?
Code vb:
Sub b()
Dim dl&, nd
With Sheets("TEST")
dl = .Cells(Rows.Count, 1).End(xlUp).Row - 1
nd = .Cells(dl + 1, 1) + 1: .Rows(dl).Resize(3).Copy .Rows(dl + 3)
dl = .Cells(Rows.Count, 1).End(xlUp).Row - 1: .Cells(dl + 1, 1) = nd
dl = .Cells(Rows.Count, 1).End(xlUp).Row - 3
With .Cells(dl, 2).Resize(, 2): .Value = .Value: End With
End With
End Sub
 
Re : Copier/Coller 3 dernières lignes d'une feuille

Hello,
C'est parfait !
Par contre je ne comprends pas bien le code et je voulais voir pourquoi la formule de la 1ère colonne n'est pas copier.
Pouvez vous m'aider sur ce dernier point ?
Merci beaucoup !
 
Re : Copier/Coller 3 dernières lignes d'une feuille

Bonsoir à tous

Bens77
Tu disais plus bas
Donc dans mon code cette ligne:
With .Cells(dl, 2).Resize(, 2): .Value = .Value: End With
fait l'équivalent d'un copier/coller
Testes en la mettant en commentaires ou en la supprimant.
 
Re : Copier/Coller 3 dernières lignes d'une feuille

Bonsoir à tous, Bonsoir JM,

La ligne de code est nécessaire car c'est bien elle qui permet de figer mon historique.

Le problème vient seulement de la date présente dans la 1ère colonne.
Il se peut dans mon fichier que celle ci soit une formule (date précédente +7 par exemple).
Lorsque je lance le code tout fonctionne parfaitement sauf cette formule date qui disparait.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

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