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

XL 2016 copier cellules et horodater

palto

XLDnaute Nouveau
Bonjour,

Comment copier des cellules d'un fichier vers un autre fichier du même classeur en ajoutant un horodatage ? et cela de manière quotidienne ?

ex emple :tous les jours, je copie les cellules a1 b1 c1 d1 de feuille1 vers feuille2 en ajoutant la date sur la même ligne et le lendemain on ajoute la même ligne en ligne deux ? etc


merci pour votre aide
 

palto

XLDnaute Nouveau
ohhh merci beaucoup pour votre réponse, j'ai du mal expliquer voici ce que j'obtiens avec votre macro

2321404/05/2022 15:08:221351904/05/2022 15:08:2250004/05/2022 15:08:22

et j'aimerai obtenir la date dans une colonne à part, c'est possible ? et si je fais ça chaque jour ça se met à la ligne automatiquement ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Palto, Vgendron,
Un essai avec :
VB:
Sub CopieColle()
    Sheets(2).[A1.D1] = Sheets(1).[A1.D1].Value
    Sheets(2).[E1] = Now
End Sub

et si chaque jour vous voulez écrire à la fin de la liste, testez :
Code:
Sub CopieColle()
    DL = 1 + Sheets(2).[A65500].End(xlUp).Row
    Sheets(2).Range("A" & DL & ":D" & DL) = Sheets(1).[A1.D1].Value
    Sheets(2).Range("E" & DL) = Now
End Sub
 
Dernière édition:

palto

XLDnaute Nouveau
Bonjour Sylvanu et merci beaucoup,

Ça fonctionne quasiment parfaitement, j'ai un message d'erreur 424 objet requis, qui disparaît lorsque je supprime le .value

Mais en faisant ça, j'ai uniquement la date qui s'affiche en bout de ligne et des #valeur dans les autres cellules

Une idée? Encore merci
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
C'est étonnant puisque .value dit justement de coller la valeur. Qui plus est, évidemment, cela a été testé.
Enfin. Essayez alos plus classique mais plus long ( quoique encore cela se mesure en ms ... )
VB:
Sub CopieColle()
    DL = 1 + Sheets(2).[A65500].End(xlUp).Row
    For C = 1 To 4
        Sheets(2).Cells(DL, C) = Sheets(1).Cells(1, C)
    Next C
    Sheets(2).Range("E" & DL) = Now
End Sub
 

palto

XLDnaute Nouveau
Un énorme merci à vous (toi ?) Sylvanu, la dernière solution fonctionne parfaitement et je vous en remercie grandement.

La première solution me semblait aussi plus "jolie" bien que je ne sois qu'un néophyte, mais elle ne fonctionnait pas chez moi.

Encore merci pour votre réponse rapide à mon problème
 

Discussions similaires

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