Transfert de fichiers photos

Le
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 ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 4
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #16468391
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" 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 ?





michdenis
Le #16468531
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" 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 ?
Daniel.C
Le #16468621
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" 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" 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 ?





michdenis
Le #16468891
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"
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" 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" 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 ?





Jacques93
Le #16468871
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 :


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.
Daniel.C
Le #16468981
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" 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"
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" 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" 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 ?









michdenis
Le #16469141
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"
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" 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"
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" 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" 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 ?









Daniel.C
Le #16469491
Non.
Daniel
"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"
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" 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"
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" 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" 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 ?













Daniel.C
Le #16470551
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"
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"
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" 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"
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" 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" 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 ?













michdenis
Le #16470681
| 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"
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"
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"
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" 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"
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" 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" 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 ?













Publicité
Poster une réponse
Anonyme