Renommer série d'image directement avec vba excel (classement selon date et heure de la prise de vue)

Soyez le premier à donner votre avis sur cette source.

Vue 7 627 fois - Téléchargée 943 fois

Description

Les applications permettant de faire ce travail sont nombreuses. Mais je n'ai jamais trouvé de source utilisant directement Excel (et ne necessitant donc pas de compilation).
Les fichiers sont renomés comme ceci :
"Nom du début au choix" - "Date de la prise de vue" "h:m:s de la prise de vue".extension

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

CAPMICRO
Messages postés
1
Date d'inscription
lundi 13 septembre 2010
Statut
Membre
Dernière intervention
26 novembre 2010
-
désolé mais le programme vba ne fonctionne pas ni en version 2003 ni en version vista (instruction non reconnue : ActiveWorkbook.Worksheets)
d'autre part, la date de dernière modification n'est pas forcément la date de prise de vue : c'est le cas ou vous modifiez la photo à l'aide d'un logiciel de retouche d'image (par exemple celui inclu dans vista).
je cherchai notament d'accéder à la date de prise de vue visible dans explorer.
si vous avez la réponse, je l'accepterai bien volontier.
davidparison
Messages postés
2
Date d'inscription
mardi 30 septembre 2008
Statut
Membre
Dernière intervention
2 juin 2009
-
Merci YvesMarie pour tes commentaires, j'ai modifié tout ca.
J'ai par contre laissé le trie par ordre alphabétique de base (plus compréhensible pour moi)
cs_YvesMarie
Messages postés
6
Date d'inscription
vendredi 18 avril 2003
Statut
Membre
Dernière intervention
1 juin 2009
-
modif :
Public Const CST_DATEH As String = "yyyy\_mm\_dd\_hh\hmm"
cs_YvesMarie
Messages postés
6
Date d'inscription
vendredi 18 avril 2003
Statut
Membre
Dernière intervention
1 juin 2009
-
sympa.
qq modifs de simplification :

Public Const CST_DATEH As String = "yyyy\_mm\_dd\_hh\hss"
'permet de trier dans l'ordre chrono
'Cells(lig, 2) = datephoto.dateLastModified
Cells(lig, 2) = Format(CDate(datephoto.dateLastModified), CST_DATEH)
'avec la fct Format
'If i < 10 Then Cells(i, 3).Value = Debut_nom & "_00" & i 'If i < 100 And i >10 Then Cells(i, 3).Value Debut_nom & "_0" & i 'If i >100 Then Cells(i, 3).Value Debut_nom & "_" & i
' devient :
Cells(i, 3).Value = Debut_nom & "_" & Format(i, "0000")

' 'Création du nouveau nom et renommage
' un antislash en trop
' RenameFile Ledossier & "" & Cells(i, 1).Value, New_nom
RenameFile Ledossier & "" & Cells(i, 1).Value, New_nom
super.
et tout fonctionne

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.