Ceux qui utilisent Excel pour gérer leurs photos aimeraient certainement avoir accès à certaines des précieuses informations qui sont incluses dans le fichier JPG que leur fournit leur appareil photo ou portable.
Parmi ces informations, les coordonnées GPS et l’heure de la prise de vue (pas l’heure du transfert du fichier !) sont particulièrement intéressantes. De nombreuses autres données sont présentes (focale, balance des blancs, flash, etc.) mais sont d’un usage plus technique, réservés à des experts qui sont certainement déjà outillés.
Savoir où et quand une photo a été prise est particulièremet utile, mais ces informations qui sont noyées quelque part dans les fichiers JPG ne sont pas très faciles à extraire. C’est l’objet de la fonction DonneesExif() que j’ai développée.
NOTE : Ceci ne peut évidemment fonctionner que si l’appareil ou le portable possède un GPS (ce qui est le cas de quasiment tous les appareils aujourd´hui), et s’il est configuré pour inclure la localisation au fichier généré (par défaut, la localisation n’est pas incluse). Lors des transferts ou des copies du fichier, la localisation peut également être supprimée du fichier, surtout si le fichier est compressé.
NOTE : La date et l’heure du fichier, visibles dans le gestionaire de fichiers et accessibles sous VBA par la fonction FileDateTime() sont celles de la copie ou de la dernière modification, mais pas celle de la prise de vue. Cette dernière, qui est à mon avis plus utile, figure souvent dans le nom du fichier. Elle est également récupérée par la fonction DonneesExif() dans les données Exif du JPG.
NOTE : La fonction DonneesExif() ne s’applique qu’à des fichiers JPG ou JPEG, qui sont les plus utilisés.
La fonction renvoie True si aucune erreur ne s’est produite, et False sinon. Il faut lui fournir le nom complet du fichier f, avec le chemin et l’extension. Les paramètres suivants sont passés à la procédure appelante :
erreur : chaine qui décrit l’erreur éventuelle, vide en l’absence d’erreur
horodatage : donnée de type Date qui indique la date et l’heure de la prise de vue
longitude : donnée de type Double de -180,000 000 à +180,000 000 qui indique la longitude en degrés décimaux
latitude : donnée de type Double de -90,000 000 à +90,000 000 qui indique la latitude en degrés décimaux
altitude : donnée de type Single de -12 000,0 à +12 000,0 qui indique l’altitude en mètres
A vous de faire une petite appli qui appelle la fonction, avec par exemple un "File Picker" pour sélectionner le fichier, ainsi que l'affichage des coordonnées comme vous le souhaitez.
Parmi ces informations, les coordonnées GPS et l’heure de la prise de vue (pas l’heure du transfert du fichier !) sont particulièrement intéressantes. De nombreuses autres données sont présentes (focale, balance des blancs, flash, etc.) mais sont d’un usage plus technique, réservés à des experts qui sont certainement déjà outillés.
Savoir où et quand une photo a été prise est particulièremet utile, mais ces informations qui sont noyées quelque part dans les fichiers JPG ne sont pas très faciles à extraire. C’est l’objet de la fonction DonneesExif() que j’ai développée.
NOTE : Ceci ne peut évidemment fonctionner que si l’appareil ou le portable possède un GPS (ce qui est le cas de quasiment tous les appareils aujourd´hui), et s’il est configuré pour inclure la localisation au fichier généré (par défaut, la localisation n’est pas incluse). Lors des transferts ou des copies du fichier, la localisation peut également être supprimée du fichier, surtout si le fichier est compressé.
NOTE : La date et l’heure du fichier, visibles dans le gestionaire de fichiers et accessibles sous VBA par la fonction FileDateTime() sont celles de la copie ou de la dernière modification, mais pas celle de la prise de vue. Cette dernière, qui est à mon avis plus utile, figure souvent dans le nom du fichier. Elle est également récupérée par la fonction DonneesExif() dans les données Exif du JPG.
NOTE : La fonction DonneesExif() ne s’applique qu’à des fichiers JPG ou JPEG, qui sont les plus utilisés.
La fonction renvoie True si aucune erreur ne s’est produite, et False sinon. Il faut lui fournir le nom complet du fichier f, avec le chemin et l’extension. Les paramètres suivants sont passés à la procédure appelante :
erreur : chaine qui décrit l’erreur éventuelle, vide en l’absence d’erreur
horodatage : donnée de type Date qui indique la date et l’heure de la prise de vue
longitude : donnée de type Double de -180,000 000 à +180,000 000 qui indique la longitude en degrés décimaux
latitude : donnée de type Double de -90,000 000 à +90,000 000 qui indique la latitude en degrés décimaux
altitude : donnée de type Single de -12 000,0 à +12 000,0 qui indique l’altitude en mètres
A vous de faire une petite appli qui appelle la fonction, avec par exemple un "File Picker" pour sélectionner le fichier, ainsi que l'affichage des coordonnées comme vous le souhaitez.
- Auteur
- Katido