Recupérer date de modification (des csv importés)

Bonjour a tous,

Est ce que qqn serait comment je peux récupérer la date de modification des .csv à chaque fois que j'importe avec une macro.

Le but est de savoir si les fichiers ont changés ou non ,quand je lance ma macro de MAJ qui importe les .csv d'un dossier puis les traitent dans Excel.

J'aimerais pouvoir pour chaque .csv lors de l'importation mettre cette date (qui est visible dans le dossier "date de modification" )dans une cellule.

Merci par avance.

Bonne Journée, Cdt

Alfi

Bonjour,

Pour inscrire la date de modification du fichier "Classeur1.csv" dans la cellule A1

Sub test()
    Set obj = CreateObject("Scripting.FileSystemObject")
    Set fichier = obj.GetFile("Classeur1.csv")
    Range("A1").Value = fichier.DateLastModified
End Sub

A+

Bonjour,

je reviens demander des précisions.

Je n'arrive pas a retrouver les fichiers .csv avec :

Set fichier = obj.GetFile("Classeur1.csv")

j'ai essayé en mettant le chemin d'accès depuis l'emplacement du fichier Excel sans réussite non plus.

Si j'essaye de résumer la situation dans laquelle je suis:

J'ai un dossier "Travail" dans lequel j'ai mon fichier excel et trois dossier ( Exploitation,Augmentation et Diminusion)

Dans chacun de ses dossier il y a deux fichier.csv que j'intègre dans mon excel (ca tout est bon) et je voudrais retourner la date de modifications de ces 6 fichiers ( 2 par dossiers) dans un onglets et cellule choisi.

Merci par avance.

Alfi

Bonjour,

Il est évident que si ton fichier ne porte pas le nom "Classeur1.csv", tu ne le trouveras pas avec l’instruction

Set fichier = obj.GetFile("Classeur1.csv").

Pour trouver la date de modification du fichier, il faut savoir à minima le nom du fichier et le chemin d'accès au répertoire de ce fichier.

Sub test()
    Set obj = CreateObject("Scripting.FileSystemObject")
    Chemin = "D:\Programmes\Donnees\Toto\Travail\" 'Exemple de chemin d'accès ... à adapter
    Set fichier = obj.GetFile(Chemin & "MonClasseur.csv") 'Exemple de chemin d'accès & nom du fichier... à adapter
    Range("A1").Value = fichier.DateLastModified
End Sub

A+

Bonjour frangy,

comment déclares-tu les type de :

dim obj as ..... (Object ?)

dim fichier as ..... (Long ?)

dim chemin as ..... ?

et si je veux spécifier dans quelle feuille je range cette date de modication dans le classeur je dois mettre pour la dernière ligne:

feuille1.Range("A1").Value = fichier.DateLastModified ? ca me met une erreur.

Merci

Bonne journée

Alfi

Bonjour,

Feuil1 étant le nom de la feuille qui doit recevoir la donnée :

Option Explicit
Sub test()
Dim obj As Object
Dim fichier As Object
Dim Chemin As String
    Set obj = CreateObject("Scripting.FileSystemObject")
    Chemin = "D:\Programmes\Donnees\Toto\Travail\" 'Exemple de chemin d'accès ... à adapter
   Set fichier = obj.GetFile(Chemin & "MonClasseur.csv") 'Exemple de chemin d'accès & nom du fichier... à adapter
   ThisWorkbook.Worksheets("Feuil1").Range("A1").Value = fichier.DateLastModified
End Sub

A+

Je suis désolé mais je n'arrive toujours pas a executer le code

lors du lancement de cette macro la ligne ci dessous (devient jaune) et dit fichier = Nothing

Set fichier = obj.GetFile(Chemin & "MonClasseur.csv")

pourtant j'ai mis le bon chemin d'accès et le bon nom

.... ?

si tu as une idée , je prendrais volontier

Merci

Alfi

Vraiment désolé mais je fais le test avec Excel 2007 et je ne rencontre aucun problème particulier.

J'ai fait un petit tour sur le web pour voir les problèmes rencontrés avec fileSystemObject mais sans succès, je ne vois toujours pas pourquoi cela ne fonctionnerait pas.

Espérons qu'un autre intervenant sera mieux inspiré

Si tu n'obtiens pas de réponse, n'hésites pas à relancer avec un nouveau message.

A+

Rechercher des sujets similaires à "recuperer date modification csv importes"