Date de prise de vue d'une photo - VBA

Résolu/Fermé
jean pétévé - 5 août 2011 à 09:48
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 26 juil. 2012 à 11:57
Bonjour,

Comment extraire la date de prise de vue d'une photo avec VBA ?

Avec les propriétés de l'objet Folder (DateCreated, dateLastModified, Datelastaccessed -
cf http://www.commentcamarche.net/contents/vbscript/vbs-folder.php3)
je peux extraire les dates de création du fichier et de modification, mais pas la date de la prise de vue.

En complément,
1/ dans les propriétés de la photo (.jpg), dans l'onglet Détails :
* date de prise de vue est dans le chapitre "Origine"
* date de création et date de modification sont dans le chapitre "Fichier"

2/ les photos ont été prises avec 2 appareils différents
* de marque CANON (photo enregistrée sur l'ordinateur via la carte mémoire),
dans ce cas la date de prise de vue est la même que la date de création du fichier (donc je n'ai pas de problème)
* de marque SONY (photo enregistrée sur l'ordinateur depuis l'appareil via un cable),
dans ce cas
la date de prise de vue est la date à laquelle la photo a été prise
la date de création du fichier est la date à laquelle la photo a été enregistrée sur l'ordinateur

Merci d'avance


A voir également:

3 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
5 août 2011 à 10:45
Bonjour,
Il est possible de lister les propriétés contenues dans l'onglet résumé :
<Mes sources>
!!!Activer la référence : "Microsoft Shell Controls and Automation"!!!
Sous VBE : Outils/Référence
Sub ListeProprietesFichiers_getDetailsOf()
    'source:
    'http://www.microsoft.com/resources/documentation/windows/2000/server/
    'scriptguide/en-us/sas_fil_lunl.mspx
    '
    'Nécessite d'activer la référence Microsoft Shell Controls and Automation
    '
    Dim objShell As Shell32.Shell
    Dim strFileName As Shell32.FolderItem
    Dim objFolder As Shell32.Folder
    Dim Resultat As String, Reponse As String
    Dim i As Byte
    
    Set objShell = CreateObject("Shell.Application")
    'Répertoire cible
    Set objFolder = objShell.nameSpace("C:\Documents and Settings\michel")
    
    'boucle sur tous les elements du repertoire
    For Each strFileName In objFolder.Items
        
        'Pour que les dosssiers ne soient pas pris en comptes
        If strFileName.isFolder = False Then
        Resultat = ""
            For i = 0 To 34
                If objFolder.getDetailsOf(strFileName, i) <> "" Then _
                    Resultat = Resultat & objFolder.getDetailsOf(objFolder.Items, i) _
                    & ":  " & objFolder.getDetailsOf(strFileName, i) & vbLf
            Next
        Reponse = MsgBox(Resultat & vbLf & vbLf & "Voulez vous continuer?", vbYesNo)
        If Reponse = vbNo Then Exit Sub
        End If
    Next
End Sub

A ADAPTER : le chemin d'accès à ton répertoire.
Test le et dis moi s'il liste les bonnes propriétés... j'en doute mais...
0
jean pétévé
5 août 2011 à 11:13
Merci pijaku, c'est ce qu'il me fallait.

En ajoutant les index dans la boîte de message, j'ai pu trouvé celui de la propriété qui m'intéresse.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
5 août 2011 à 11:36
Si tu as une difficulté pour lister ça sous excel, n'hésite pas.

Ps : tant mieux que tu aies trouvé la propriété correspondante parce que dans le cas contraire, la méthode aurait été bien plus ardue...
0
lvlat Messages postés 1 Date d'inscription lundi 3 novembre 2008 Statut Membre Dernière intervention 26 juillet 2012
26 juil. 2012 à 11:30
Salut, au cas ou vous suivriez toujours ce fil : j'utilise ce bout de code également, seulement dans ma boite de dialogue je me retrouve avec
Année : Année
Nom : Nom
etc.

Pourquoi n'ai-je pas les valeurs après les : ? Pourtant j'ai fait un fidèle copier/coller...

Merci.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
26 juil. 2012 à 11:57
Bonjour,
Je ne sais absolument pas pourquoi...

j'utilise ce bout de code également Avec quels types de fichiers?
0