[Excel-VBA] Extraire "Date du cliché" de
Résolu/Fermé
ben13.51
Messages postés
112
Date d'inscription
mercredi 18 mars 2009
Statut
Membre
Dernière intervention
11 janvier 2012
-
15 mai 2009 à 11:26
ben13.51 Messages postés 112 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 11 janvier 2012 - 15 mai 2009 à 18:06
ben13.51 Messages postés 112 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 11 janvier 2012 - 15 mai 2009 à 18:06
A voir également:
- [Excel-VBA] Extraire "Date du cliché" de
- Extraire une video youtube - Guide
- Liste déroulante excel - Guide
- Si et excel - Guide
- Extraire son video - Guide
- Aller à la ligne excel - Guide
4 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
15 mai 2009 à 12:08
15 mai 2009 à 12:08
Bonjour,
Si tu n'as pas modifié la copie, il me semble qu'il te faut créer un objet FSO et utiliser la propriété "dateLastModified"
Si tu n'as pas modifié la copie, il me semble qu'il te faut créer un objet FSO et utiliser la propriété "dateLastModified"
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
15 mai 2009 à 14:34
15 mai 2009 à 14:34
Re,
voici un exemple à adapter a ta config: sheets, colonne num (???) etc
La macro listerdate "dossier désiré"appelle la sous macro reporterdate photo
le dossier est parcouru à la recherche des .jpg et on reporte la date de leur dernière modif ( voir mon observation + haut)
voici un exemple à adapter a ta config: sheets, colonne num (???) etc
La macro listerdate "dossier désiré"appelle la sous macro reporterdate photo
le dossier est parcouru à la recherche des .jpg et on reporte la date de leur dernière modif ( voir mon observation + haut)
Sub listerdate() reporterdatephoto "D:\images\viti\" 'a adapter ton chemin du dossier End Sub Sub reporterdatephoto(dossier As String) Dim photojpg As Object Dim fich As String Dim lig As Long Set photojpg = CreateObject("Scripting.fileSystemObject") lig = 1 Application.ScreenUpdating = False ChDir dossier fich = Dir("*.jpg") While fich <> "" Set datephoto = photojpg.GetFile(fich) Cells(lig, 2) = datephoto.dateLastModified lig = lig + 1 Set datephoto = Nothing fich = Dir Wend Set photojpg = Nothing End Sub
ben13.51
Messages postés
112
Date d'inscription
mercredi 18 mars 2009
Statut
Membre
Dernière intervention
11 janvier 2012
7
15 mai 2009 à 15:13
15 mai 2009 à 15:13
Merci bcp michel
Ta macro fait parfaitement ce que je voulais.
Si tu as le temps et l'envie, pourrais-tu m'expliquer en détails ce que font quelques lignes de ton code que je copie ci-après?
Set photojpg = CreateObject("Scripting.fileSystemObject")
Application.ScreenUpdating = False
ChDir dossier
datephoto = photojpg.GetFile(fich)
J'ai compris ce que ChDir et GetFile faisaient mais où déclares tu les variable dossier et datephoto?
Si tu ne veux pas ce n'est pas grave tu m'as retiré une belle épine du pied.
Bon Aprem'
Et merci encore!
Ta macro fait parfaitement ce que je voulais.
Si tu as le temps et l'envie, pourrais-tu m'expliquer en détails ce que font quelques lignes de ton code que je copie ci-après?
Set photojpg = CreateObject("Scripting.fileSystemObject")
Application.ScreenUpdating = False
ChDir dossier
datephoto = photojpg.GetFile(fich)
J'ai compris ce que ChDir et GetFile faisaient mais où déclares tu les variable dossier et datephoto?
Si tu ne veux pas ce n'est pas grave tu m'as retiré une belle épine du pied.
Bon Aprem'
Et merci encore!
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
15 mai 2009 à 16:14
15 mai 2009 à 16:14
bon...
Application;screenupdating=false fige le défilement de l'écran, ainsi gagne un temps fou et evite les flash de l'écran peu agréable quand par exemple on change de feuille
FSO fileSystemObject est une biobiothèque qui permet de manipuler les fichiers lire et écrire les propriétés: son avantage est qu'on travailler sur n'importe quelle extension (.jpg, .xls...) et surtout de le faire sans avoir à ouvrir les fichiers. Dans Office, tu as "documentproperties" qui peut lire des propriétés mais il faut que le document Office soit ouvert.
La variable Dossier est déclarée dans le paramêtre de la macro
Sub reporterdatephoto(dossier As String)
Quant à datephoto... J'aurais dû le déclarer!!! ca m'apprendra à n'avoir utilisé option explicit
donc
Dim datephoto as object
(c'est un sous-objet fso)
Bon WE (avé le soleil, milladiou!)
Application;screenupdating=false fige le défilement de l'écran, ainsi gagne un temps fou et evite les flash de l'écran peu agréable quand par exemple on change de feuille
FSO fileSystemObject est une biobiothèque qui permet de manipuler les fichiers lire et écrire les propriétés: son avantage est qu'on travailler sur n'importe quelle extension (.jpg, .xls...) et surtout de le faire sans avoir à ouvrir les fichiers. Dans Office, tu as "documentproperties" qui peut lire des propriétés mais il faut que le document Office soit ouvert.
La variable Dossier est déclarée dans le paramêtre de la macro
Sub reporterdatephoto(dossier As String)
Quant à datephoto... J'aurais dû le déclarer!!! ca m'apprendra à n'avoir utilisé option explicit
donc
Dim datephoto as object
(c'est un sous-objet fso)
Bon WE (avé le soleil, milladiou!)
ben13.51
Messages postés
112
Date d'inscription
mercredi 18 mars 2009
Statut
Membre
Dernière intervention
11 janvier 2012
7
15 mai 2009 à 18:06
15 mai 2009 à 18:06
Merci pour toute ces explications
FSO me semble très interessant et va me permettre de régler plusieurs autres problèmes avec vba...
Bon WeekEnd et encore merci
Ben
FSO me semble très interessant et va me permettre de régler plusieurs autres problèmes avec vba...
Bon WeekEnd et encore merci
Ben
15 mai 2009 à 13:39
mais je ne maitrise pas la notion d'objet FSO...
Peut tu m'en expliquer les rudiments ou me donner un lien vers un site explicatif
Merci
Ben