Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Transfert de fichiers photos

37 réponses
Avatar
Olivier
Bonjour,
mon APN transfère mes photos dans un dossier dont le nom est la date du
transfert.
Or je rentre de vacances et dans ce dossier, il y a des photos de 15 jours.
Je souhaiterais copier ces photos à l'aide d'Excel et VBA dans des dossiers
dont le nom est la date de prise de vue.
Est-ce possible ?
Mon problème est que j'ai déjà vu comment on récupère la liste des jpg dans
un dossier, comment on les copie,...
Mais je ne sais pas comment on peut récupérer la date du cliché (Ensuite je
suppose qu'on nomme le dossier avec pour nom la date du cliché et on copie)
Quelqu'un a une idée ?
Merci

PS: J'ai tenté d'aller voir le site Excelabo.net. On me répond page
introuvable : simple bug ou c'est plus grave ?

10 réponses

1 2 3 4
Avatar
Daniel.C
Bonjour.
Dans la macro suivante, les photos se trouvent dans le dossier indiqué dans
la constante "Source". Les sous-dossiers date seront créés dans le dossier
"Cible" :

Sub test()
Const Source = "e:donneesdanielphotosselection"
Const Cible = "e:donneesdanielmpfe"
Dim Fich As String, Dat As Date, Rep As String
Fich = Dir(Source & "*.jpg")
Set fso = CreateObject("Scripting.FileSystemObject")
Do While Fich <> ""
Dat = fso.GetFile(Source & Fich).DateCreated
Rep = Format(Dat, "yyyy_mm_dd")
On Error Resume Next
MkDir Cible & Rep
On Error GoTo 0
FileCopy Source & Fich, Cible & Rep & "" & Fich
Fich = Dir
Loop
End Sub

Cordialement.
Daniel
"Olivier" a écrit dans le message de news:
489567a3$0$294$
Bonjour,
mon APN transfère mes photos dans un dossier dont le nom est la date du
transfert.
Or je rentre de vacances et dans ce dossier, il y a des photos de 15
jours.
Je souhaiterais copier ces photos à l'aide d'Excel et VBA dans des
dossiers dont le nom est la date de prise de vue.
Est-ce possible ?
Mon problème est que j'ai déjà vu comment on récupère la liste des jpg
dans un dossier, comment on les copie,...
Mais je ne sais pas comment on peut récupérer la date du cliché (Ensuite
je suppose qu'on nomme le dossier avec pour nom la date du cliché et on
copie)
Quelqu'un a une idée ?
Merci

PS: J'ai tenté d'aller voir le site Excelabo.net. On me répond page
introuvable : simple bug ou c'est plus grave ?





Avatar
michdenis
Tu as aussi ceci :

Tous les fichiers ayant été créés à une date
donnée seront déplacés vers un répertoire
ayant cette date.

'-----------------------------------------
Sub test()
Dim RépertoireSource As String
Dim File As String, X As String
Dim Vers As String

'**** à déterminer*****
'Où sont les images
RépertoireSource = "C:Exceltoday"

'Où seront créés les nouveaux répertoires
'dans lesquels seront les fichiers aboutiront.
Vers = "C:Exceltoday"
'****************************

'Attribution du premier fichier à traiter
File = Dir(RépertoireSource & "*.jpg")

'boucle sur tous les fichiers images du
'répertoire source
Do While File <> ""
'Extraire la date de créaition du fichier
X = Format(FileDateTime("C:Exceltodaytest.jpg"), "dd-MM-YYYY")
'création du fichier X si absent
Shell Environ("comspec") & " /c mkdir " & Vers & X & "", 0
'Déplacement du fichier répertoire source
'vers nouveau répertoire
Shell Environ("comspec") & _
" /c Move " & RépertoireSource & File & _
" " & Vers & X, 0
'Traitement du nouveau fichier
File = Dir
Loop

End Sub
'-----------------------------------------





"Olivier" a écrit dans le message de news:
489567a3$0$294$
Bonjour,
mon APN transfère mes photos dans un dossier dont le nom est la date du
transfert.
Or je rentre de vacances et dans ce dossier, il y a des photos de 15 jours.
Je souhaiterais copier ces photos à l'aide d'Excel et VBA dans des dossiers
dont le nom est la date de prise de vue.
Est-ce possible ?
Mon problème est que j'ai déjà vu comment on récupère la liste des jpg dans
un dossier, comment on les copie,...
Mais je ne sais pas comment on peut récupérer la date du cliché (Ensuite je
suppose qu'on nomme le dossier avec pour nom la date du cliché et on copie)
Quelqu'un a une idée ?
Merci

PS: J'ai tenté d'aller voir le site Excelabo.net. On me répond page
introuvable : simple bug ou c'est plus grave ?
Avatar
Daniel.C
Bonjour et bon dimanche.
J'ai d'abord suivi cette piste, mais "FileDateTime" renvoie la date à
laquelle les photos ont été copiées sur l'ordinateur.
Cordialement.
Daniel
"michdenis" a écrit dans le message de news:
eZ8$
Tu as aussi ceci :

Tous les fichiers ayant été créés à une date
donnée seront déplacés vers un répertoire
ayant cette date.

'-----------------------------------------
Sub test()
Dim RépertoireSource As String
Dim File As String, X As String
Dim Vers As String

'**** à déterminer*****
'Où sont les images
RépertoireSource = "C:Exceltoday"

'Où seront créés les nouveaux répertoires
'dans lesquels seront les fichiers aboutiront.
Vers = "C:Exceltoday"
'****************************

'Attribution du premier fichier à traiter
File = Dir(RépertoireSource & "*.jpg")

'boucle sur tous les fichiers images du
'répertoire source
Do While File <> ""
'Extraire la date de créaition du fichier
X = Format(FileDateTime("C:Exceltodaytest.jpg"), "dd-MM-YYYY")
'création du fichier X si absent
Shell Environ("comspec") & " /c mkdir " & Vers & X & "", 0
'Déplacement du fichier répertoire source
'vers nouveau répertoire
Shell Environ("comspec") & _
" /c Move " & RépertoireSource & File & _
" " & Vers & X, 0
'Traitement du nouveau fichier
File = Dir
Loop

End Sub
'-----------------------------------------





"Olivier" a écrit dans le message de news:
489567a3$0$294$
Bonjour,
mon APN transfère mes photos dans un dossier dont le nom est la date du
transfert.
Or je rentre de vacances et dans ce dossier, il y a des photos de 15
jours.
Je souhaiterais copier ces photos à l'aide d'Excel et VBA dans des
dossiers
dont le nom est la date de prise de vue.
Est-ce possible ?
Mon problème est que j'ai déjà vu comment on récupère la liste des jpg
dans
un dossier, comment on les copie,...
Mais je ne sais pas comment on peut récupérer la date du cliché (Ensuite
je
suppose qu'on nomme le dossier avec pour nom la date du cliché et on
copie)
Quelqu'un a une idée ?
Merci

PS: J'ai tenté d'aller voir le site Excelabo.net. On me répond page
introuvable : simple bug ou c'est plus grave ?





Avatar
michdenis
Je ne suis pas d'accord avec toi et l'utilisation
que tu fais de DateCreated dans l'expression
Dat = fso.GetFile(Source & Fich).DateCreated

Prends un fichier JPG et copie le dans un nouveau
répertoire et utilise cette procédure.... ça devrait
suffire comme démonstration ....

'------------------------------------------
Sub Test_Pour_Daniel()

Dim MonFichier As String, S As String
Dim Dcreation As String, Fs As Object, F As Object

'à déterminer
MonFichier = "C:Exceltoday3-08-2008test.jpg"
Dcreation = FileDateTime(MonFichier)

Set Fs = CreateObject("Scripting.FileSystemObject")
Set F = Fs.GetFile(MonFichier)

S = "Date de création utilisant ""FileDateTime"" : " & Dcreation
S = S & vbCrLf + vbCrLf
S = S & "Created: " & F.DateCreated & vbCrLf
S = S & "Last Accessed: " & F.DateLastAccessed & vbCrLf
S = S & "Last Modified: " & F.DateLastModified
MsgBox S, 0, "File Access Info"

End Sub
'------------------------------------------

Correction : ma procédure devrait être ceci :

J'avais omis d'utiliser les variables dans cette
ligne de code :
X = Format(FileDateTime(RépertoireSource & File), "dd-MM-YYYY")

'---------------------------------------------
Sub test()
Dim RépertoireSource As String
Dim File As String, X As String
Dim Vers As String

'**** à déterminer*****
'Où sont les images
RépertoireSource = "C:Exceltoday"

'Où seront créés les nouveaux répertoires
'dans lesquels seront les fichiers aboutiront.
Vers = "C:Exceltoday"
'****************************

'Attribution du premier fichier à traiter
File = Dir(RépertoireSource & "*.jpg")

'boucle sur tous les fichiers images du
'répertoire source
Do While File <> ""
'Extraire la date de créaition du fichier
X = Format(FileDateTime(RépertoireSource & File), "dd-MM-YYYY")
'création du fichier X si absent
Shell Environ("comspec") & " /c mkdir " & Vers & X & "", 0
'Déplacement du fichier répertoire source
'vers nouveau répertoire
Shell Environ("comspec") & _
" /c Move " & RépertoireSource & File & _
" " & Vers & X, 0
'Traitement du nouveau fichier
File = Dir
Loop

End Sub
'---------------------------------------------




"Daniel.C" a écrit dans le message de news:

Bonjour et bon dimanche.
J'ai d'abord suivi cette piste, mais "FileDateTime" renvoie la date à
laquelle les photos ont été copiées sur l'ordinateur.
Cordialement.
Daniel
"michdenis" a écrit dans le message de news:
eZ8$
Tu as aussi ceci :

Tous les fichiers ayant été créés à une date
donnée seront déplacés vers un répertoire
ayant cette date.

'-----------------------------------------
Sub test()
Dim RépertoireSource As String
Dim File As String, X As String
Dim Vers As String

'**** à déterminer*****
'Où sont les images
RépertoireSource = "C:Exceltoday"

'Où seront créés les nouveaux répertoires
'dans lesquels seront les fichiers aboutiront.
Vers = "C:Exceltoday"
'****************************

'Attribution du premier fichier à traiter
File = Dir(RépertoireSource & "*.jpg")

'boucle sur tous les fichiers images du
'répertoire source
Do While File <> ""
'Extraire la date de créaition du fichier
X = Format(FileDateTime("C:Exceltodaytest.jpg"), "dd-MM-YYYY")
'création du fichier X si absent
Shell Environ("comspec") & " /c mkdir " & Vers & X & "", 0
'Déplacement du fichier répertoire source
'vers nouveau répertoire
Shell Environ("comspec") & _
" /c Move " & RépertoireSource & File & _
" " & Vers & X, 0
'Traitement du nouveau fichier
File = Dir
Loop

End Sub
'-----------------------------------------





"Olivier" a écrit dans le message de news:
489567a3$0$294$
Bonjour,
mon APN transfère mes photos dans un dossier dont le nom est la date du
transfert.
Or je rentre de vacances et dans ce dossier, il y a des photos de 15
jours.
Je souhaiterais copier ces photos à l'aide d'Excel et VBA dans des
dossiers
dont le nom est la date de prise de vue.
Est-ce possible ?
Mon problème est que j'ai déjà vu comment on récupère la liste des jpg
dans
un dossier, comment on les copie,...
Mais je ne sais pas comment on peut récupérer la date du cliché (Ensuite
je
suppose qu'on nomme le dossier avec pour nom la date du cliché et on
copie)
Quelqu'un a une idée ?
Merci

PS: J'ai tenté d'aller voir le site Excelabo.net. On me répond page
introuvable : simple bug ou c'est plus grave ?





Avatar
Jacques93
Bonjour Olivier,

Peut être regarder du côté des données EXIF, incluses dans les .JPG,
recherche le classeur mp-exif de Michel Pierron sur :

<http://www.excelabo.net>

Olivier a écrit :
Bonjour,
mon APN transfère mes photos dans un dossier dont le nom est la date du
transfert.
Or je rentre de vacances et dans ce dossier, il y a des photos de 15 jours.
Je souhaiterais copier ces photos à l'aide d'Excel et VBA dans des dossiers
dont le nom est la date de prise de vue.
Est-ce possible ?
Mon problème est que j'ai déjà vu comment on récupère la liste des jpg dans
un dossier, comment on les copie,...
Mais je ne sais pas comment on peut récupérer la date du cliché (Ensuite je
suppose qu'on nomme le dossier avec pour nom la date du cliché et on copie)
Quelqu'un a une idée ?
Merci

PS: J'ai tenté d'aller voir le site Excelabo.net. On me répond page
introuvable : simple bug ou c'est plus grave ?







--

Cordialement,

Jacques.
Avatar
Daniel.C
J'obtiens bien :
Date de création utilisant "FileDateTime" : 19/07/2008... (date de copie de
l'appareil photo à l'ordi)
Created: 29/06/2008...
Last accessed 03/08/2008...
Daniel
"michdenis" a écrit dans le message de news:
ueDZk$
Je ne suis pas d'accord avec toi et l'utilisation
que tu fais de DateCreated dans l'expression
Dat = fso.GetFile(Source & Fich).DateCreated

Prends un fichier JPG et copie le dans un nouveau
répertoire et utilise cette procédure.... ça devrait
suffire comme démonstration ....

'------------------------------------------
Sub Test_Pour_Daniel()

Dim MonFichier As String, S As String
Dim Dcreation As String, Fs As Object, F As Object

'à déterminer
MonFichier = "C:Exceltoday3-08-2008test.jpg"
Dcreation = FileDateTime(MonFichier)

Set Fs = CreateObject("Scripting.FileSystemObject")
Set F = Fs.GetFile(MonFichier)

S = "Date de création utilisant ""FileDateTime"" : " & Dcreation
S = S & vbCrLf + vbCrLf
S = S & "Created: " & F.DateCreated & vbCrLf
S = S & "Last Accessed: " & F.DateLastAccessed & vbCrLf
S = S & "Last Modified: " & F.DateLastModified
MsgBox S, 0, "File Access Info"

End Sub
'------------------------------------------

Correction : ma procédure devrait être ceci :

J'avais omis d'utiliser les variables dans cette
ligne de code :
X = Format(FileDateTime(RépertoireSource & File), "dd-MM-YYYY")

'---------------------------------------------
Sub test()
Dim RépertoireSource As String
Dim File As String, X As String
Dim Vers As String

'**** à déterminer*****
'Où sont les images
RépertoireSource = "C:Exceltoday"

'Où seront créés les nouveaux répertoires
'dans lesquels seront les fichiers aboutiront.
Vers = "C:Exceltoday"
'****************************

'Attribution du premier fichier à traiter
File = Dir(RépertoireSource & "*.jpg")

'boucle sur tous les fichiers images du
'répertoire source
Do While File <> ""
'Extraire la date de créaition du fichier
X = Format(FileDateTime(RépertoireSource & File), "dd-MM-YYYY")
'création du fichier X si absent
Shell Environ("comspec") & " /c mkdir " & Vers & X & "", 0
'Déplacement du fichier répertoire source
'vers nouveau répertoire
Shell Environ("comspec") & _
" /c Move " & RépertoireSource & File & _
" " & Vers & X, 0
'Traitement du nouveau fichier
File = Dir
Loop

End Sub
'---------------------------------------------




"Daniel.C" a écrit dans le message de news:

Bonjour et bon dimanche.
J'ai d'abord suivi cette piste, mais "FileDateTime" renvoie la date à
laquelle les photos ont été copiées sur l'ordinateur.
Cordialement.
Daniel
"michdenis" a écrit dans le message de news:
eZ8$
Tu as aussi ceci :

Tous les fichiers ayant été créés à une date
donnée seront déplacés vers un répertoire
ayant cette date.

'-----------------------------------------
Sub test()
Dim RépertoireSource As String
Dim File As String, X As String
Dim Vers As String

'**** à déterminer*****
'Où sont les images
RépertoireSource = "C:Exceltoday"

'Où seront créés les nouveaux répertoires
'dans lesquels seront les fichiers aboutiront.
Vers = "C:Exceltoday"
'****************************

'Attribution du premier fichier à traiter
File = Dir(RépertoireSource & "*.jpg")

'boucle sur tous les fichiers images du
'répertoire source
Do While File <> ""
'Extraire la date de créaition du fichier
X = Format(FileDateTime("C:Exceltodaytest.jpg"), "dd-MM-YYYY")
'création du fichier X si absent
Shell Environ("comspec") & " /c mkdir " & Vers & X & "", 0
'Déplacement du fichier répertoire source
'vers nouveau répertoire
Shell Environ("comspec") & _
" /c Move " & RépertoireSource & File & _
" " & Vers & X, 0
'Traitement du nouveau fichier
File = Dir
Loop

End Sub
'-----------------------------------------





"Olivier" a écrit dans le message de news:
489567a3$0$294$
Bonjour,
mon APN transfère mes photos dans un dossier dont le nom est la date du
transfert.
Or je rentre de vacances et dans ce dossier, il y a des photos de 15
jours.
Je souhaiterais copier ces photos à l'aide d'Excel et VBA dans des
dossiers
dont le nom est la date de prise de vue.
Est-ce possible ?
Mon problème est que j'ai déjà vu comment on récupère la liste des jpg
dans
un dossier, comment on les copie,...
Mais je ne sais pas comment on peut récupérer la date du cliché (Ensuite
je
suppose qu'on nomme le dossier avec pour nom la date du cliché et on
copie)
Quelqu'un a une idée ?
Merci

PS: J'ai tenté d'aller voir le site Excelabo.net. On me répond page
introuvable : simple bug ou c'est plus grave ?









Avatar
michdenis
Dans mon petit test, j'ai utilisé l'application Paint.exe et
j'ai créé un dessin quelconque enregistré avec l'extension JPG
Par la suite, j'ai copié ce fichier vers un autre répertoire

J'ai obtenu (en se basant sur la date et l'heure du fichier créé)

DateCreated = Moment où j'ai effectué la copie dans le nouveau répertoire
DateLastModified = Moment où j'ai enregistrer le fichier pour la première
fois
FileDateTime = donne aussi le moment où j'ai enregistrer le fichier pour la
première fois.

Tu as une explication ? Je n'ai pas vraiment de temps à y consacrer !

Le demandeur est pour le moins averti ! ;-)










"Daniel.C" a écrit dans le message de news:

J'obtiens bien :
Date de création utilisant "FileDateTime" : 19/07/2008... (date de copie de
l'appareil photo à l'ordi)
Created: 29/06/2008...
Last accessed 03/08/2008...
Daniel
"michdenis" a écrit dans le message de news:
ueDZk$
Je ne suis pas d'accord avec toi et l'utilisation
que tu fais de DateCreated dans l'expression
Dat = fso.GetFile(Source & Fich).DateCreated

Prends un fichier JPG et copie le dans un nouveau
répertoire et utilise cette procédure.... ça devrait
suffire comme démonstration ....

'------------------------------------------
Sub Test_Pour_Daniel()

Dim MonFichier As String, S As String
Dim Dcreation As String, Fs As Object, F As Object

'à déterminer
MonFichier = "C:Exceltoday3-08-2008test.jpg"
Dcreation = FileDateTime(MonFichier)

Set Fs = CreateObject("Scripting.FileSystemObject")
Set F = Fs.GetFile(MonFichier)

S = "Date de création utilisant ""FileDateTime"" : " & Dcreation
S = S & vbCrLf + vbCrLf
S = S & "Created: " & F.DateCreated & vbCrLf
S = S & "Last Accessed: " & F.DateLastAccessed & vbCrLf
S = S & "Last Modified: " & F.DateLastModified
MsgBox S, 0, "File Access Info"

End Sub
'------------------------------------------

Correction : ma procédure devrait être ceci :

J'avais omis d'utiliser les variables dans cette
ligne de code :
X = Format(FileDateTime(RépertoireSource & File), "dd-MM-YYYY")

'---------------------------------------------
Sub test()
Dim RépertoireSource As String
Dim File As String, X As String
Dim Vers As String

'**** à déterminer*****
'Où sont les images
RépertoireSource = "C:Exceltoday"

'Où seront créés les nouveaux répertoires
'dans lesquels seront les fichiers aboutiront.
Vers = "C:Exceltoday"
'****************************

'Attribution du premier fichier à traiter
File = Dir(RépertoireSource & "*.jpg")

'boucle sur tous les fichiers images du
'répertoire source
Do While File <> ""
'Extraire la date de créaition du fichier
X = Format(FileDateTime(RépertoireSource & File), "dd-MM-YYYY")
'création du fichier X si absent
Shell Environ("comspec") & " /c mkdir " & Vers & X & "", 0
'Déplacement du fichier répertoire source
'vers nouveau répertoire
Shell Environ("comspec") & _
" /c Move " & RépertoireSource & File & _
" " & Vers & X, 0
'Traitement du nouveau fichier
File = Dir
Loop

End Sub
'---------------------------------------------




"Daniel.C" a écrit dans le message de news:

Bonjour et bon dimanche.
J'ai d'abord suivi cette piste, mais "FileDateTime" renvoie la date à
laquelle les photos ont été copiées sur l'ordinateur.
Cordialement.
Daniel
"michdenis" a écrit dans le message de news:
eZ8$
Tu as aussi ceci :

Tous les fichiers ayant été créés à une date
donnée seront déplacés vers un répertoire
ayant cette date.

'-----------------------------------------
Sub test()
Dim RépertoireSource As String
Dim File As String, X As String
Dim Vers As String

'**** à déterminer*****
'Où sont les images
RépertoireSource = "C:Exceltoday"

'Où seront créés les nouveaux répertoires
'dans lesquels seront les fichiers aboutiront.
Vers = "C:Exceltoday"
'****************************

'Attribution du premier fichier à traiter
File = Dir(RépertoireSource & "*.jpg")

'boucle sur tous les fichiers images du
'répertoire source
Do While File <> ""
'Extraire la date de créaition du fichier
X = Format(FileDateTime("C:Exceltodaytest.jpg"), "dd-MM-YYYY")
'création du fichier X si absent
Shell Environ("comspec") & " /c mkdir " & Vers & X & "", 0
'Déplacement du fichier répertoire source
'vers nouveau répertoire
Shell Environ("comspec") & _
" /c Move " & RépertoireSource & File & _
" " & Vers & X, 0
'Traitement du nouveau fichier
File = Dir
Loop

End Sub
'-----------------------------------------





"Olivier" a écrit dans le message de news:
489567a3$0$294$
Bonjour,
mon APN transfère mes photos dans un dossier dont le nom est la date du
transfert.
Or je rentre de vacances et dans ce dossier, il y a des photos de 15
jours.
Je souhaiterais copier ces photos à l'aide d'Excel et VBA dans des
dossiers
dont le nom est la date de prise de vue.
Est-ce possible ?
Mon problème est que j'ai déjà vu comment on récupère la liste des jpg
dans
un dossier, comment on les copie,...
Mais je ne sais pas comment on peut récupérer la date du cliché (Ensuite
je
suppose qu'on nomme le dossier avec pour nom la date du cliché et on
copie)
Quelqu'un a une idée ?
Merci

PS: J'ai tenté d'aller voir le site Excelabo.net. On me répond page
introuvable : simple bug ou c'est plus grave ?









Avatar
Daniel.C
Non.
Daniel
"michdenis" a écrit dans le message de news:

Dans mon petit test, j'ai utilisé l'application Paint.exe et
j'ai créé un dessin quelconque enregistré avec l'extension JPG
Par la suite, j'ai copié ce fichier vers un autre répertoire

J'ai obtenu (en se basant sur la date et l'heure du fichier créé)

DateCreated = Moment où j'ai effectué la copie dans le nouveau
répertoire
DateLastModified = Moment où j'ai enregistrer le fichier pour la première
fois
FileDateTime = donne aussi le moment où j'ai enregistrer le fichier pour
la
première fois.

Tu as une explication ? Je n'ai pas vraiment de temps à y consacrer !

Le demandeur est pour le moins averti ! ;-)










"Daniel.C" a écrit dans le message de news:

J'obtiens bien :
Date de création utilisant "FileDateTime" : 19/07/2008... (date de copie
de
l'appareil photo à l'ordi)
Created: 29/06/2008...
Last accessed 03/08/2008...
Daniel
"michdenis" a écrit dans le message de news:
ueDZk$
Je ne suis pas d'accord avec toi et l'utilisation
que tu fais de DateCreated dans l'expression
Dat = fso.GetFile(Source & Fich).DateCreated

Prends un fichier JPG et copie le dans un nouveau
répertoire et utilise cette procédure.... ça devrait
suffire comme démonstration ....

'------------------------------------------
Sub Test_Pour_Daniel()

Dim MonFichier As String, S As String
Dim Dcreation As String, Fs As Object, F As Object

'à déterminer
MonFichier = "C:Exceltoday3-08-2008test.jpg"
Dcreation = FileDateTime(MonFichier)

Set Fs = CreateObject("Scripting.FileSystemObject")
Set F = Fs.GetFile(MonFichier)

S = "Date de création utilisant ""FileDateTime"" : " & Dcreation
S = S & vbCrLf + vbCrLf
S = S & "Created: " & F.DateCreated & vbCrLf
S = S & "Last Accessed: " & F.DateLastAccessed & vbCrLf
S = S & "Last Modified: " & F.DateLastModified
MsgBox S, 0, "File Access Info"

End Sub
'------------------------------------------

Correction : ma procédure devrait être ceci :

J'avais omis d'utiliser les variables dans cette
ligne de code :
X = Format(FileDateTime(RépertoireSource & File), "dd-MM-YYYY")

'---------------------------------------------
Sub test()
Dim RépertoireSource As String
Dim File As String, X As String
Dim Vers As String

'**** à déterminer*****
'Où sont les images
RépertoireSource = "C:Exceltoday"

'Où seront créés les nouveaux répertoires
'dans lesquels seront les fichiers aboutiront.
Vers = "C:Exceltoday"
'****************************

'Attribution du premier fichier à traiter
File = Dir(RépertoireSource & "*.jpg")

'boucle sur tous les fichiers images du
'répertoire source
Do While File <> ""
'Extraire la date de créaition du fichier
X = Format(FileDateTime(RépertoireSource & File), "dd-MM-YYYY")
'création du fichier X si absent
Shell Environ("comspec") & " /c mkdir " & Vers & X & "", 0
'Déplacement du fichier répertoire source
'vers nouveau répertoire
Shell Environ("comspec") & _
" /c Move " & RépertoireSource & File & _
" " & Vers & X, 0
'Traitement du nouveau fichier
File = Dir
Loop

End Sub
'---------------------------------------------




"Daniel.C" a écrit dans le message de news:

Bonjour et bon dimanche.
J'ai d'abord suivi cette piste, mais "FileDateTime" renvoie la date à
laquelle les photos ont été copiées sur l'ordinateur.
Cordialement.
Daniel
"michdenis" a écrit dans le message de news:
eZ8$
Tu as aussi ceci :

Tous les fichiers ayant été créés à une date
donnée seront déplacés vers un répertoire
ayant cette date.

'-----------------------------------------
Sub test()
Dim RépertoireSource As String
Dim File As String, X As String
Dim Vers As String

'**** à déterminer*****
'Où sont les images
RépertoireSource = "C:Exceltoday"

'Où seront créés les nouveaux répertoires
'dans lesquels seront les fichiers aboutiront.
Vers = "C:Exceltoday"
'****************************

'Attribution du premier fichier à traiter
File = Dir(RépertoireSource & "*.jpg")

'boucle sur tous les fichiers images du
'répertoire source
Do While File <> ""
'Extraire la date de créaition du fichier
X = Format(FileDateTime("C:Exceltodaytest.jpg"), "dd-MM-YYYY")
'création du fichier X si absent
Shell Environ("comspec") & " /c mkdir " & Vers & X & "", 0
'Déplacement du fichier répertoire source
'vers nouveau répertoire
Shell Environ("comspec") & _
" /c Move " & RépertoireSource & File & _
" " & Vers & X, 0
'Traitement du nouveau fichier
File = Dir
Loop

End Sub
'-----------------------------------------





"Olivier" a écrit dans le message de news:
489567a3$0$294$
Bonjour,
mon APN transfère mes photos dans un dossier dont le nom est la date du
transfert.
Or je rentre de vacances et dans ce dossier, il y a des photos de 15
jours.
Je souhaiterais copier ces photos à l'aide d'Excel et VBA dans des
dossiers
dont le nom est la date de prise de vue.
Est-ce possible ?
Mon problème est que j'ai déjà vu comment on récupère la liste des jpg
dans
un dossier, comment on les copie,...
Mais je ne sais pas comment on peut récupérer la date du cliché (Ensuite
je
suppose qu'on nomme le dossier avec pour nom la date du cliché et on
copie)
Quelqu'un a une idée ?
Merci

PS: J'ai tenté d'aller voir le site Excelabo.net. On me répond page
introuvable : simple bug ou c'est plus grave ?













Avatar
Daniel.C
La différence entre une copie de fichier et un transfert de photos (par
l'utilitaire XP, au moins) est que ce dernier recopie les attributs
originaux de la photo, dont la date de créationque l'on obtient avec
DateCreated. Cette méthode reste donc valable tant qu'on ne fait ni copier
ni couper de la photo. Dans ce cas, il faut, comme le dit Jacques93, aller
fouiller dans les exifs.
Daniel
"michdenis" a écrit dans le message de news:

Dans mon petit test, j'ai utilisé l'application Paint.exe et
j'ai créé un dessin quelconque enregistré avec l'extension JPG
Par la suite, j'ai copié ce fichier vers un autre répertoire

J'ai obtenu (en se basant sur la date et l'heure du fichier créé)

DateCreated = Moment où j'ai effectué la copie dans le nouveau
répertoire
DateLastModified = Moment où j'ai enregistrer le fichier pour la première
fois
FileDateTime = donne aussi le moment où j'ai enregistrer le fichier pour
la
première fois.

Tu as une explication ? Je n'ai pas vraiment de temps à y consacrer !

Le demandeur est pour le moins averti ! ;-)










"Daniel.C" a écrit dans le message de news:

J'obtiens bien :
Date de création utilisant "FileDateTime" : 19/07/2008... (date de copie
de
l'appareil photo à l'ordi)
Created: 29/06/2008...
Last accessed 03/08/2008...
Daniel
"michdenis" a écrit dans le message de news:
ueDZk$
Je ne suis pas d'accord avec toi et l'utilisation
que tu fais de DateCreated dans l'expression
Dat = fso.GetFile(Source & Fich).DateCreated

Prends un fichier JPG et copie le dans un nouveau
répertoire et utilise cette procédure.... ça devrait
suffire comme démonstration ....

'------------------------------------------
Sub Test_Pour_Daniel()

Dim MonFichier As String, S As String
Dim Dcreation As String, Fs As Object, F As Object

'à déterminer
MonFichier = "C:Exceltoday3-08-2008test.jpg"
Dcreation = FileDateTime(MonFichier)

Set Fs = CreateObject("Scripting.FileSystemObject")
Set F = Fs.GetFile(MonFichier)

S = "Date de création utilisant ""FileDateTime"" : " & Dcreation
S = S & vbCrLf + vbCrLf
S = S & "Created: " & F.DateCreated & vbCrLf
S = S & "Last Accessed: " & F.DateLastAccessed & vbCrLf
S = S & "Last Modified: " & F.DateLastModified
MsgBox S, 0, "File Access Info"

End Sub
'------------------------------------------

Correction : ma procédure devrait être ceci :

J'avais omis d'utiliser les variables dans cette
ligne de code :
X = Format(FileDateTime(RépertoireSource & File), "dd-MM-YYYY")

'---------------------------------------------
Sub test()
Dim RépertoireSource As String
Dim File As String, X As String
Dim Vers As String

'**** à déterminer*****
'Où sont les images
RépertoireSource = "C:Exceltoday"

'Où seront créés les nouveaux répertoires
'dans lesquels seront les fichiers aboutiront.
Vers = "C:Exceltoday"
'****************************

'Attribution du premier fichier à traiter
File = Dir(RépertoireSource & "*.jpg")

'boucle sur tous les fichiers images du
'répertoire source
Do While File <> ""
'Extraire la date de créaition du fichier
X = Format(FileDateTime(RépertoireSource & File), "dd-MM-YYYY")
'création du fichier X si absent
Shell Environ("comspec") & " /c mkdir " & Vers & X & "", 0
'Déplacement du fichier répertoire source
'vers nouveau répertoire
Shell Environ("comspec") & _
" /c Move " & RépertoireSource & File & _
" " & Vers & X, 0
'Traitement du nouveau fichier
File = Dir
Loop

End Sub
'---------------------------------------------




"Daniel.C" a écrit dans le message de news:

Bonjour et bon dimanche.
J'ai d'abord suivi cette piste, mais "FileDateTime" renvoie la date à
laquelle les photos ont été copiées sur l'ordinateur.
Cordialement.
Daniel
"michdenis" a écrit dans le message de news:
eZ8$
Tu as aussi ceci :

Tous les fichiers ayant été créés à une date
donnée seront déplacés vers un répertoire
ayant cette date.

'-----------------------------------------
Sub test()
Dim RépertoireSource As String
Dim File As String, X As String
Dim Vers As String

'**** à déterminer*****
'Où sont les images
RépertoireSource = "C:Exceltoday"

'Où seront créés les nouveaux répertoires
'dans lesquels seront les fichiers aboutiront.
Vers = "C:Exceltoday"
'****************************

'Attribution du premier fichier à traiter
File = Dir(RépertoireSource & "*.jpg")

'boucle sur tous les fichiers images du
'répertoire source
Do While File <> ""
'Extraire la date de créaition du fichier
X = Format(FileDateTime("C:Exceltodaytest.jpg"), "dd-MM-YYYY")
'création du fichier X si absent
Shell Environ("comspec") & " /c mkdir " & Vers & X & "", 0
'Déplacement du fichier répertoire source
'vers nouveau répertoire
Shell Environ("comspec") & _
" /c Move " & RépertoireSource & File & _
" " & Vers & X, 0
'Traitement du nouveau fichier
File = Dir
Loop

End Sub
'-----------------------------------------





"Olivier" a écrit dans le message de news:
489567a3$0$294$
Bonjour,
mon APN transfère mes photos dans un dossier dont le nom est la date du
transfert.
Or je rentre de vacances et dans ce dossier, il y a des photos de 15
jours.
Je souhaiterais copier ces photos à l'aide d'Excel et VBA dans des
dossiers
dont le nom est la date de prise de vue.
Est-ce possible ?
Mon problème est que j'ai déjà vu comment on récupère la liste des jpg
dans
un dossier, comment on les copie,...
Mais je ne sais pas comment on peut récupérer la date du cliché (Ensuite
je
suppose qu'on nomme le dossier avec pour nom la date du cliché et on
copie)
Quelqu'un a une idée ?
Merci

PS: J'ai tenté d'aller voir le site Excelabo.net. On me répond page
introuvable : simple bug ou c'est plus grave ?













Avatar
michdenis
| Dans ce cas, il faut, comme le dit Jacques93, aller
| fouiller dans les exifs.

Je suppose que tu as télécharger le fichier de Michel P.
et que tu l'as testé sur un fichier créé de la manière dont
j'ai expliqué pour mon test sur ce fil.

Pour l'avoir fait, j'obtiens un message d'erreur !

Message : Error while loading file
"c:exceltodaytest.jpg"

As-tu rencontré la même difficulté ?

Est-ce que toi ou Jacques connaît la source du problème ?

Est-ce la même chose avec un fichier créé par une application
"dessin" plus élaborée que "Paint" ?



"Daniel.C" a écrit dans le message de news:

La différence entre une copie de fichier et un transfert de photos (par
l'utilitaire XP, au moins) est que ce dernier recopie les attributs
originaux de la photo, dont la date de créationque l'on obtient avec
DateCreated. Cette méthode reste donc valable tant qu'on ne fait ni copier
ni couper de la photo. Dans ce cas, il faut, comme le dit Jacques93, aller
fouiller dans les exifs.
Daniel
"michdenis" a écrit dans le message de news:

Dans mon petit test, j'ai utilisé l'application Paint.exe et
j'ai créé un dessin quelconque enregistré avec l'extension JPG
Par la suite, j'ai copié ce fichier vers un autre répertoire

J'ai obtenu (en se basant sur la date et l'heure du fichier créé)

DateCreated = Moment où j'ai effectué la copie dans le nouveau
répertoire
DateLastModified = Moment où j'ai enregistrer le fichier pour la première
fois
FileDateTime = donne aussi le moment où j'ai enregistrer le fichier pour
la
première fois.

Tu as une explication ? Je n'ai pas vraiment de temps à y consacrer !

Le demandeur est pour le moins averti ! ;-)










"Daniel.C" a écrit dans le message de news:

J'obtiens bien :
Date de création utilisant "FileDateTime" : 19/07/2008... (date de copie
de
l'appareil photo à l'ordi)
Created: 29/06/2008...
Last accessed 03/08/2008...
Daniel
"michdenis" a écrit dans le message de news:
ueDZk$
Je ne suis pas d'accord avec toi et l'utilisation
que tu fais de DateCreated dans l'expression
Dat = fso.GetFile(Source & Fich).DateCreated

Prends un fichier JPG et copie le dans un nouveau
répertoire et utilise cette procédure.... ça devrait
suffire comme démonstration ....

'------------------------------------------
Sub Test_Pour_Daniel()

Dim MonFichier As String, S As String
Dim Dcreation As String, Fs As Object, F As Object

'à déterminer
MonFichier = "C:Exceltoday3-08-2008test.jpg"
Dcreation = FileDateTime(MonFichier)

Set Fs = CreateObject("Scripting.FileSystemObject")
Set F = Fs.GetFile(MonFichier)

S = "Date de création utilisant ""FileDateTime"" : " & Dcreation
S = S & vbCrLf + vbCrLf
S = S & "Created: " & F.DateCreated & vbCrLf
S = S & "Last Accessed: " & F.DateLastAccessed & vbCrLf
S = S & "Last Modified: " & F.DateLastModified
MsgBox S, 0, "File Access Info"

End Sub
'------------------------------------------

Correction : ma procédure devrait être ceci :

J'avais omis d'utiliser les variables dans cette
ligne de code :
X = Format(FileDateTime(RépertoireSource & File), "dd-MM-YYYY")

'---------------------------------------------
Sub test()
Dim RépertoireSource As String
Dim File As String, X As String
Dim Vers As String

'**** à déterminer*****
'Où sont les images
RépertoireSource = "C:Exceltoday"

'Où seront créés les nouveaux répertoires
'dans lesquels seront les fichiers aboutiront.
Vers = "C:Exceltoday"
'****************************

'Attribution du premier fichier à traiter
File = Dir(RépertoireSource & "*.jpg")

'boucle sur tous les fichiers images du
'répertoire source
Do While File <> ""
'Extraire la date de créaition du fichier
X = Format(FileDateTime(RépertoireSource & File), "dd-MM-YYYY")
'création du fichier X si absent
Shell Environ("comspec") & " /c mkdir " & Vers & X & "", 0
'Déplacement du fichier répertoire source
'vers nouveau répertoire
Shell Environ("comspec") & _
" /c Move " & RépertoireSource & File & _
" " & Vers & X, 0
'Traitement du nouveau fichier
File = Dir
Loop

End Sub
'---------------------------------------------




"Daniel.C" a écrit dans le message de news:

Bonjour et bon dimanche.
J'ai d'abord suivi cette piste, mais "FileDateTime" renvoie la date à
laquelle les photos ont été copiées sur l'ordinateur.
Cordialement.
Daniel
"michdenis" a écrit dans le message de news:
eZ8$
Tu as aussi ceci :

Tous les fichiers ayant été créés à une date
donnée seront déplacés vers un répertoire
ayant cette date.

'-----------------------------------------
Sub test()
Dim RépertoireSource As String
Dim File As String, X As String
Dim Vers As String

'**** à déterminer*****
'Où sont les images
RépertoireSource = "C:Exceltoday"

'Où seront créés les nouveaux répertoires
'dans lesquels seront les fichiers aboutiront.
Vers = "C:Exceltoday"
'****************************

'Attribution du premier fichier à traiter
File = Dir(RépertoireSource & "*.jpg")

'boucle sur tous les fichiers images du
'répertoire source
Do While File <> ""
'Extraire la date de créaition du fichier
X = Format(FileDateTime("C:Exceltodaytest.jpg"), "dd-MM-YYYY")
'création du fichier X si absent
Shell Environ("comspec") & " /c mkdir " & Vers & X & "", 0
'Déplacement du fichier répertoire source
'vers nouveau répertoire
Shell Environ("comspec") & _
" /c Move " & RépertoireSource & File & _
" " & Vers & X, 0
'Traitement du nouveau fichier
File = Dir
Loop

End Sub
'-----------------------------------------





"Olivier" a écrit dans le message de news:
489567a3$0$294$
Bonjour,
mon APN transfère mes photos dans un dossier dont le nom est la date du
transfert.
Or je rentre de vacances et dans ce dossier, il y a des photos de 15
jours.
Je souhaiterais copier ces photos à l'aide d'Excel et VBA dans des
dossiers
dont le nom est la date de prise de vue.
Est-ce possible ?
Mon problème est que j'ai déjà vu comment on récupère la liste des jpg
dans
un dossier, comment on les copie,...
Mais je ne sais pas comment on peut récupérer la date du cliché (Ensuite
je
suppose qu'on nomme le dossier avec pour nom la date du cliché et on
copie)
Quelqu'un a une idée ?
Merci

PS: J'ai tenté d'aller voir le site Excelabo.net. On me répond page
introuvable : simple bug ou c'est plus grave ?













1 2 3 4