Macro Copier données selon une date dans une cellule

Bonjour à tous,

Dans mon cas d'exemple, je voudrai modifier dans le code de la macro que si les dates qui se trouvent dans les fichiers CH et CG CPTS sont identiques au fichier synthèse, la macro ne fait pas de traitement. C’est-à-dire qu’elle n’importe pas les données.

En clair, ne pas importer les données si les dates des fichiers d'origine sont identiques au fichier de destination.

Pourriez-vous m'éclairer ?

Merci.

20ch-treso.zip (7.00 Ko)
20cg-cpts-treso.zip (8.12 Ko)
20synthese.zip (131.87 Ko)

Bonsoir,

Ci-joint une proposition :

- comparaison de la date de modification du fichier "CH - Tréso.xls" avec la date B4 de l'onglet Contrôle

=> date identique : pas d'import

- comparaison de la date de modification du fichier "CG CPTS - Tréso.xls" avec la date B5 de l'onglet Contrôle.

=> date identique : pas d'import

Bonne nuit !

Bouben

50synthese.zip (124.08 Ko)

Bonjour bouben,

Merci pour ta proposition, ce n'est pas la date de modification du fichier qu'il faut tenir compte mais celle qui se trouve dans les fichiers à importer.

Pour le ficher CH - Tréso, en cellule A24

pour le fichier CG CPTS - Tréso, en cellule A3.

On importe les fichiers si la date est différente du fichier de synthèse à la feuille Contrôle des cellules B4 et B5.

On peut visualiser ce code dans la feuille CH :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target Is Range("A2") Then
Sheets("Contrôle").Cells(4, "C").Value = "Le " & Format(Date, "dddd d mmm yyyy") & " à  " & Format(Now, "hh:mm:ss")
End If

End Sub

pour la feuille CG CPTS :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target Is Range("A3") Then
Sheets("Contrôle").Cells(5, "C").Value = "Le " & Format(Date, "dddd d mmm yyyy") & " à  " & Format(Now, "hh:mm:ss")
End If

End Sub

Dans ta proposition de solution, je ne comprends pas cette ligne :

  • C:\TEMP\CopierSelonDate\CH - Tréso.xls

Y a t-il un lien avec ce code :

If Trim(Format(oFSO.GetFile(sFicCH).DateLastModified, "DD/MM/YYYY")) <> Trim(Worksheets("Contrôle").Range("B4").Value) Then
    Workbooks.Open Filename:=sFicCH

je n'arrive pas comment lui indiquer un nouveau chemin dans ce code.

Rechercher des sujets similaires à "macro copier donnees date"