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
1651674119849.png

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 Palto, Vgendron,
Un essai avec :
VB:
Sub CopieColle()
    Sheets(2).[A1.D1] = Sheets(1).[A1.D1].Value
    Sheets(2).[E1] = Now
End Sub
Regarde la pièce jointe 1138711
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
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
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
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

Statistiques des forums

Discussions
311 726
Messages
2 081 955
Membres
101 852
dernier inscrit
dthi16088