IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Renommage de photo ex : 0001 image en Dupont Jullien d'après tableau Microsoft Excel, shell applescript autre
Options
macprogresse2
posté 16 Oct 2017, 13:42
Message #1


Nouveau Membre


Groupe : Membres
Messages : 14
Inscrit : 24 Feb 2006
Lieu : 912170
Membre no 56 281



Bonjour à tous.

je suis confronté à un problème de renommage de visuels numéroté de 0001 à 9999 il faudrait les renommer d'après un tableur Microsoft Excel comportant des noms colonne A et prénoms Colonne B les prises de vue sont réalisée dans l'ordre alphabétique rigoureux quelqu'un aurait il la solution miracle?

Travail sous mac osx 10.10.5 et photoshop CS 6 Ecxel 2011 Mac bien sur

j'ai essayé avec excel mais sans succès les macros et les script VBA sont différent de pc et d'une version à l'autre et je patauge unsure.gif

Peu être une solution via un script shell ou un apple script ?
Merci par avance pour toutes vos suggestions

Bien cordialement
Macprogresse


--------------------
Nom du modèle Mac Pro:MacPro3,1 :Quad-Core Intel Xeon:3,2 GHz:32 Go Vitesse du bus 1,6 GHzVersion de la ROM de démarrage : MP31.006C.B05 /sous 10.11.6 (15G31)/MacBookPro7,1 A1278
Et des dizaines de G5 G4 POWER MAC 6100/7600/8600/9500/9600 Macintosh Clasic Macintosh 512K Apple II
Go to the top of the page
 
+Quote Post
Krazubu
posté 16 Oct 2017, 15:22
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 3 523
Inscrit : 5 Sep 2005
Membre no 45 266



Tiens voilà une macro que j'ai trouvé sur le net et adapté. Je n'y connais rien au VBA alors c'est surement pas hyper propre, ça fera une erreur à la fin mais ça fait le boulot.

Prérequis :
- Un dossier "Input" dans le même chemin que le fichier excel, qui contient les fichiers à renommer
- Une colonne A avec le nom du fichier source
- Une colonne B avec le nom du fichier de destination
- Les colonnes A et B ont des entêtes, les noms de fichiers commencent donc à partir de la ligne 2
- La macro tourne pour la feuille actuellement active


Code
Sub Renamer()

    Dim inputFolder$, iFile$, oFile$
    Dim iRow&, lRow&

    inputFolder = ThisWorkbook.Path & Application.PathSeparator & "Input"

    With ThisWorkbook.ActiveSheet
        If .FilterMode Then .ShowAllData
        lRow = .Cells(.Rows.Count, "A").End(xlUp).Row

        For iRow = 2 To lRow
            iFile = .Cells(iRow, "A")
            oFile = .Cells(iRow, "B")

            If iFile <> "" And oFile <> "" Then

                If Dir(inputFolder & Application.PathSeparator & iFile) <> "" Then
                    Name inputFolder & Application.PathSeparator & iFile As inputFolder & Application.PathSeparator & oFile
                End If
            End If
        Next
    End With
End Sub
Go to the top of the page
 
+Quote Post
teddy7545
posté 16 Oct 2017, 15:59
Message #3


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 879
Inscrit : 4 Apr 2004
Lieu : Lorraine - 54
Membre no 17 184



Je n'ai pas Office sous la main pour tester mais à lecture rapide je pense que le script ne fait pas tout à fait ce qui est demandé...

Ca reste toutefois une bonne base de départ .
Le script semble conçu pour renommer le fichier comprenant le nom dans la colonne A avec le nom dans la colonne B ...
Alors que macprogresse2 décrivait :
Citation
des noms colonne A et prénoms Colonne B

En relisant je vois toutefois que Krazubu le précisait dans les préalables
Citation
- Une colonne A avec le nom du fichier source
- Une colonne B avec le nom du fichier de destination

A partir de là il est possible simplement de créer une troisième colonne pour les prénoms et d'adapter la fin du script.
Ou de garder le principe de seulement deux colonnes avec nom et prénom et de traiter les fichiers avec le numéro de ligne moins une ... mais là il faudra aussi connaitre le format exacte des fichiers source avec l'extension.
Citation
visuels numéroté de 0001 à 9999
Les fichiers s'appelles 0001.jpg ? 0001.JPG ? 0001.jpeg ? ... autre ?

Pour l'erreur à la fin du script, ça pourrait être du à une erreur dans la boucle
Code
lRow = .Cells(.Rows.Count, "A").End(xlUp).Row
        For iRow = 2 To lRow

Comme on compte toutes les cellules de la colonne A, l'entête va être compté aussi ...
Ensuite dans la boucle on commence à 2 donc il va y avoir un élément de trop à la fin (cellule vide qui peut donner une une erreur).

Pour faire plus propre j'aurais plutôt écris
Code
lRow = .Cells(.Rows.Count, "A").End(xlUp).Row -1
        For iRow = 2 To lRow


Ce message a été modifié par teddy7545 - 16 Oct 2017, 16:07.


--------------------
MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces
MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz
Go to the top of the page
 
+Quote Post
teddy7545
posté 16 Oct 2017, 16:36
Message #4


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 879
Inscrit : 4 Apr 2004
Lieu : Lorraine - 54
Membre no 17 184



Toujours pas de quoi essayer tout de suite, mais la modification pour coller au plus près de ce que souhaitais macprogresse2 sur la base du modèle proposé initialement par Krazubu pourrait donner ça :
Code
Sub Renamer()

    Dim inputFolder$, vName$, vSurname$, iFile$, oFile$, vExt$
    Dim iRow&, lRow&

    inputFolder = ThisWorkbook.Path & Application.PathSeparator & "Input"
    vExt = ".jpg"

    With ThisWorkbook.ActiveSheet
        If .FilterMode Then .ShowAllData
        lRow = .Cells(.Rows.Count, "A").End(xlUp).Row - 1

        For iRow = 2 To lRow
            vName = .Cells(iRow, "A")
            vSurname = .Cells(iRow, "B")
            iFile = WorksheetFunction.Text(iRow -1, "0000") & vExt
            oFile = vName & "_" & vSurname & vExt        

            If vName <> "" And vSurname <> "" Then

                If Dir(inputFolder & Application.PathSeparator & iFile) <> "" Then
                    Name inputFolder & Application.PathSeparator & iFile As inputFolder & Application.PathSeparator & oFile
                End If
            End If
        Next
    End With
End Sub

Prérequis mis à jour:
- Un dossier "Input" dans le même chemin que le fichier excel, qui contient les fichiers à renommer
- Une colonne A avec le nom
- Une colonne B avec le prénom
- Les colonnes A et B ont des entêtes, les noms er prénoms commencent donc à partir de la ligne 2
- La macro tourne pour la feuille actuellement active
- L'extension des fichiers est .jpg
- Le nom des fichiers sources sera composé de 4 chiffres commençant de 0001 à 9999

A tester

Ce message a été modifié par teddy7545 - 16 Oct 2017, 18:21.


--------------------
MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces
MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz
Go to the top of the page
 
+Quote Post
uzboxberg
posté 16 Oct 2017, 17:00
Message #5


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 14 576
Inscrit : 13 May 2005
Membre no 39 087



l'appli File Renamer 4.x est censé le faire, mais je n'ai pas testé cette fonction (.csv style "old name" <tab> "new name" <tab> emplacement).
Mais l'appli ne semble plus fonctionner sous Sierra (ElCapitan ok.d'après mon test rapide).
Go to the top of the page
 
+Quote Post
teddy7545
posté 16 Oct 2017, 17:08
Message #6


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 879
Inscrit : 4 Apr 2004
Lieu : Lorraine - 54
Membre no 17 184



Il y a pleins de solutions différentes pour réaliser ça ... de logiciels plus ou moins tout prêt au script spécifique.
J'ai tendance à préférer les solutions maison wink.gif (ça fait un peu d'exercice) tongue.gif
J'ai donc répondu en reprenant le support proposé avec VBA car le fichier est déjà sous Excel...
J'aurais pu tout aussi bien proposer un Applescript ou un Shell script ou autre langage avec une extraction des données utiles en .csv

Toutefois encore une fois le modèle des datas pour utiliser l'appli File Renamer 4.x (.csv style "old name" <tab> "new name" <tab> emplacement) suppose de construire les champs "old name" (qui n'existent pas aujourd'hui) et "new name" (qui est décomposé aujourd'hui).
Il y a donc un travail préalable des datas nécessaire pour obtenir le résultat ...
La fonction modifiée que je propose traite les données dans l'état et obtient le résultat directement comme le souhaitait macprogresse2 (sous réserve de test bien sur car j'ai envoyé sans filet et non testé) cool.gif

Ce message a été modifié par teddy7545 - 16 Oct 2017, 17:52.


--------------------
MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces
MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz
Go to the top of the page
 
+Quote Post
macprogresse2
posté 16 Oct 2017, 20:06
Message #7


Nouveau Membre


Groupe : Membres
Messages : 14
Inscrit : 24 Feb 2006
Lieu : 912170
Membre no 56 281



Merci Krazubu
Mais j'étais parti de cette base mes sans y parvenir.

Merci teddy7545
j'était sur que c'est toi qui allez t'y coller au vue d'un poste qui date de 2014
ou le demandeur n'avez pas donné suite.
oui je sais un vieux déterrage biggrin.gif

Tu verrais çà comment?
car moi j'abandonne Le VBA je ne maitrise rien

un applescript? lier à un droplet photoshop de façon à générer par la même occasion des vignettes de moins de 25ko pour les carte des cantine (généré par enregistrer pour le web dans photoshop) portant le même non et plus l'ordre de passage des élèves 0001.JPG etc mais le nom et prénom.
Le droplet c'est bon j'ai fait mais le reste je bloque

Les fichiers d'entrés sont du type 0001.Jpg, 002.jpg, 0003.jpg
les sortie du type nom-prénom.jpg ( attention il peut y avoir 2 frères donc deux fois le même nom colonne B mais une différence colonne C exemple Adrien en ligne 2 et Arnaud en ligne 3 )

Ce message a été modifié par macprogresse2 - 16 Oct 2017, 20:15.


--------------------
Nom du modèle Mac Pro:MacPro3,1 :Quad-Core Intel Xeon:3,2 GHz:32 Go Vitesse du bus 1,6 GHzVersion de la ROM de démarrage : MP31.006C.B05 /sous 10.11.6 (15G31)/MacBookPro7,1 A1278
Et des dizaines de G5 G4 POWER MAC 6100/7600/8600/9500/9600 Macintosh Clasic Macintosh 512K Apple II
Go to the top of the page
 
+Quote Post
macprogresse2
posté 16 Oct 2017, 20:40
Message #8


Nouveau Membre


Groupe : Membres
Messages : 14
Inscrit : 24 Feb 2006
Lieu : 912170
Membre no 56 281



Citation (uzboxberg @ 16 Oct 2017, 18:00) *
l'appli File Renamer 4.x est censé le faire, mais je n'ai pas testé cette fonction (.csv style "old name" <tab> "new name" <tab> emplacement).
Mais l'appli ne semble plus fonctionner sous Sierra (ElCapitan ok.d'après mon test rapide).


Merci chemin déja exploré ne prend pas en charge les format csv issu d'ecxel 2011 sous mac osx 10.10.5


--------------------
Nom du modèle Mac Pro:MacPro3,1 :Quad-Core Intel Xeon:3,2 GHz:32 Go Vitesse du bus 1,6 GHzVersion de la ROM de démarrage : MP31.006C.B05 /sous 10.11.6 (15G31)/MacBookPro7,1 A1278
Et des dizaines de G5 G4 POWER MAC 6100/7600/8600/9500/9600 Macintosh Clasic Macintosh 512K Apple II
Go to the top of the page
 
+Quote Post
teddy7545
posté 16 Oct 2017, 21:10
Message #9


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 879
Inscrit : 4 Apr 2004
Lieu : Lorraine - 54
Membre no 17 184



Bonsoir,

Citation
ne prend pas en charge les format csv issu d'ecxel 2011
Ca ne devrait pas être bloquant ...le csv est assez simple et universel. A part un éventuel séparateur différent ça devrait pouvoir être gérable simplement.
De plus dans le menu "enregistrer sous ..." il y a en général une ribambelle de format proposé (je suis en déplacement et je n'ai pas Office sur mon ordi portable).

macprogresse2, tu ne veux pas tenter le script VBA que j'ai modifié ? il devrait fonctionner comme tu le souhaites.
A part que j'ai mis un _ entre nom et prénom et que tu propose un - mais c'est vite modifié (je vais même modifier directement dans mon post)....le reste devrait fonctionner .. je vais tester (sur un PC) un peu plus tard.
Sauf à utiliser des API spécifique au système Mac ou PC les script VBA sont assez portable entre les deux plate forme.

Citation
attention il peut y avoir 2 frères donc deux fois le même nom colonne B mais une différence colonne C exemple Adrien en ligne 2 et Arnaud en ligne 3
J'ai raté quelque chose ? il me semblait que tu avais que 2 colonnes A et B .. dans la phase suivante tu parles de B et C pour les noms et prénoms ... mais qu'y a t'il alors dans la colonne A ?

C'est un exercice que tu dois refaire souvent ?
Y a t'il d'autres fichiers dans le répertoire qui contient tes fichiers .jpg ??

Ce message a été modifié par teddy7545 - 16 Oct 2017, 21:47.


--------------------
MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces
MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz
Go to the top of the page
 
+Quote Post
macprogresse2
posté 17 Oct 2017, 08:51
Message #10


Nouveau Membre


Groupe : Membres
Messages : 14
Inscrit : 24 Feb 2006
Lieu : 912170
Membre no 56 281



Bonjour teddy7545

Pour info je suis depuis 1995 photographe retoucheur au paravent j'était électronicien grand publique puis médical
très grave accident en 1889 près de 5 ans pour n'en remettre enfin presque
je suis doué dans des tas de domaines informatique installation configuration Réparation de système MAC
dans tout les domaines électronique réparation au composant ,mécanique y compris préparation moteur tournage fraisage rectification etc .
dans tous domaines Manuel maçonnerie charpente électricité plomberie chauffage réparation fabrication de meuble
jardinage de façon écologique en fin bref rien ne m'arrête a par la programmation ou je suis nul sans doute du à mon incompréhension de l'anglais et mes difficulté de concentration lié au fait que handicapé suite à un accident en 1989 depuis je suis au quotidien sous morphine et valium à dose non négligeable pas terrible pour la mémoire et concentration
de plus on ne peut pas dire que je sois aidé j'ai quitté l'éducation pour le monde du travail à l'âge de 13 ans.


Pour en revenir à nos montons
J'ai lancé le script et il bloc sur ( If Dir(inputFolder & Application.PathSeparator & iFile) <> "" Then)
Mes fichiers image sont sur HD-10.9 en /input donc à la racine
le fichier Excel et au même endroit
j'ai modifié mon fichier Excel pour qu'il soit comme défini colonne 1 le N° de l'image sous le format 0001.jpg et en colone 2 le nom et le prénom sous la forme AAAAAAA_AAAAAAAAAAA

Pour l'erreur après if Dir( que dois je indiquer /input & Appication.PathSeparator & iFile <>?


Sinon oui au début mon fichier Excel comporté 3 colonnes colonne 1 nom de l'image en cellule 2 sous la forme 0001.jpg et ainsi de suite en colonne 2 Nom de l'éléve au format text ex: AAAAAAA et en colonne 3 le Prénom au format text ex : AAAAAAAAAAA

les fichiers origine dans un dossier à la racine dans un dossier origine
les fichier renommé dans un dossier qui serait dans un dossier à la racine sous le non de dossier renommé comme suit AAAAAAA-AAAAAAAAAAA.jpg et ainsi de suite pour le n° 00002.jpg renommé exemple : AAAAAAB-AAAAAAAAAAA

Les élèves passant dans l'ordre du fichier Excel fournit par l'établissement

Pour la version final je récupérai mes noms de fichiers à insérer dans la colonne 1 j'utiliserai la commande ( ls -h -R /Users/Macintel/Input > Liste.txt) que j'insérerai dans un tableur via le menu fichier importer fichier text.

Il faut par la suite mais çà c'est déja OK fournir un fichier format 15x20 cm en 300 dpi et une vignette de moins de 25 Ko sachant que c'est du jpg pas moyen de savoir réellement le poids du fichier avant qu'il ne soit généré et avec 25ko la seul option que j'ai trouvé et de passer par un enregistré pour le web en sélectionnant le fichier le plus lourd dans les format 15X20 car même avec cette méthode l'optimisation te dit que ton fichier feras 23,5 ko et en réalité une fois enregistré les infos te disent 25,9 ko donc je garde une réserve en ne validant que si moins de 20 ko dans la fenêtre de prévisualisation

Dans mes rêves les plus fou j'aurais aimé que tout ce fasse en une seul et unique commande

et bien Voila tu sais presque tout
et Moi presque Rien

j'ai un sainte horreur de ne pas savoir mais je suis tellement sollicité pour les autres domaines que je ne trouve pas le temps de m'inscrire à des cours d'anglais de programmation etc ...
vivement la retraite tongue.gif

impossible de mettre mon fichier Excel en PJ
voici un lien https://www.dropbox.com/s/8opf3hds7uvdod8/R...t%201.xlsx?dl=0

PS: grand merci pour ton aide

Ce message a été modifié par macprogresse2 - 17 Oct 2017, 11:39.


--------------------
Nom du modèle Mac Pro:MacPro3,1 :Quad-Core Intel Xeon:3,2 GHz:32 Go Vitesse du bus 1,6 GHzVersion de la ROM de démarrage : MP31.006C.B05 /sous 10.11.6 (15G31)/MacBookPro7,1 A1278
Et des dizaines de G5 G4 POWER MAC 6100/7600/8600/9500/9600 Macintosh Clasic Macintosh 512K Apple II
Go to the top of the page
 
+Quote Post
teddy7545
posté 17 Oct 2017, 23:43
Message #11


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 879
Inscrit : 4 Apr 2004
Lieu : Lorraine - 54
Membre no 17 184



Bonsoir,

Quelques nouvelles maintenant que j'ai pu faire les tests du script VBA que j'ai proposé hier:
Le script fonctionne chez moi sans problème et sans aucune modification, mais il est nécessaire de respecter strictement les prérequis
Citation
J'ai lancé le script et il bloc sur ( If Dir(inputFolder & Application.PathSeparator & iFile) <> "" Then)
Mes fichiers image sont sur HD-10.9 en /input donc à la racine
le fichier Excel et au même endroit
Je comprend ici que tu as mis le fichier Excel dans le répertoire /Input.
Ca va poser problème car le premier prérequis n'est pas respecté:
Citation
- Un dossier "Input" dans le même chemin que le fichier excel, qui contient les fichiers à renommer
Cela signifie que le fichier Excel ne doit doit être dans Input mais au niveau supérieur (à la racine dans ton exemple).
D'une façon générale, je te recommande d'éviter de mettre des fichiers de travail à la racine de ton disque dur.
En principe les utilisateurs doivent déposer les fichiers dans les répertoires ~/Desktop ou ~/Documents ou ~/Downloads s'ils sont privés ou dans /Users/Shared (ou un autre dossier partagé) s'ils doivent être partagés par plusieurs utilisateurs.
Citation
j'ai modifié mon fichier Excel pour qu'il soit comme défini colonne 1 le N° de l'image sous le format 0001.jpg et en colone 2 le nom et le prénom sous la forme AAAAAAA_AAAAAAAAAAA
La aussi il y a un écart avec les prérequis ...
il était défini au départ (voir ta demande dans ton tout premier message) que le tableau contenait deux colonnes avec les noms dans la colonne A et les prénoms dans la colonne B.
Citation
- Une colonne A avec le nom
- Une colonne B avec le prénom
Je propose de garder le principe d'avoir Nom et Prénom dans des colonnes différentes.
Les cellules A1 et B1 sont réservée pour les entêtes. Les données doivent donc commencer en A2 pour les noms et en B2 pour les prénoms suivant le prérequis ci-dessous.
Citation
- Les colonnes A et B ont des entêtes, les noms er prénoms commencent donc à partir de la ligne 2


Citation
Pour l'erreur après if Dir( que dois je indiquer /input & Appication.PathSeparator & iFile <>?
Non pas de changement à faire car il n'y a pas d'erreur.
Le chemin est défini dans la variable inputFolder à la troisième ligne du script.
ThisWorkbook.Path récupère le chemin ou se trouve le fichier Excel qui contient la macro (quelque soit l'endroit ou il se trouve : c'est mieux et plus souple que d'écrire le chemin en dur dans le code)
Application.PathSeparator & "Input" ajoute à ce chemin /input.

Citation
Sinon oui au début mon fichier Excel comportait 3 colonnes colonne 1 nom de l'image en cellule 2 sous la forme 0001.jpg et ainsi de suite en colonne 2 Nom de l'éléve au format text ex: AAAAAAA et en colonne 3 le Prénom au format text ex : AAAAAAAAAAA
Il aurait mieux valu dire tout de suite comment tes données sont quand tu les reçois. L'intérêt d'un script ou d'un programme c'est de t'éviter d'avoir à faire du traitement en manuel.
Pour ton info, suivant ta demande initiale
Code
renommage de visuels numéroté de 0001 à 9999
j'ai de mon côté considéré que les fichiers au format xxxx.jpg existaient en partant de 0001. Qu'il y a au moins autant de fichier que de ligne dans le tableau Excel. que tous les numéros se suivent (pas de "trou" dans l'ordre des numéros de fichiers).
En partant de là (si ces conditions sont toujours vraiment respectées), le script n'a pas vraiment besoin de la liste des fichiers puisqu'il sait créer les noms de fichier automatiquement suivant le numéro de ligne qui est en cours de traitement (ligne 2 -> 0001.jpg ; ligne 3 -> 0002.jpg; ligne 4 -> 0003.jpg ...autant de fois qu'il y a de nom dans le tableau)

Je te propose dans un premier temps de rester sur ma proposition et de tester le script avec les deux colonnes ...
Je le remodifierais si nécessaire (c'est pas très compliqué) lorsque tu auras pu faire fonctionner cette première partie.

Pour le moment et afin de refaire un test, je te recommande donc juste de créer un répertoire nommé par exemple "Projet" que tu mettras dans ton répertoire téléchargement.
Dans ce répertoire "Projet" tu mets le fichier Excel (qui contient la liste en deux colonnes + la macro) et le répertoire Input contenant lui seulement les fichiers .jpg.
Une fois cette structure mise en place, teste à nouveau le script que j'avais envoyé hier.
Tu pourras aussi vérifier qu'en déplaçant le répertoire "Projet" (fermer le fichier Excel avant) avec tout son contenu, le script fonctionne toujours si tu le relances.

Ce message a été modifié par teddy7545 - 18 Oct 2017, 00:35.


--------------------
MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces
MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz
Go to the top of the page
 
+Quote Post
hellomorld
posté 18 Oct 2017, 05:47
Message #12


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 150
Inscrit : 31 Oct 2003
Membre no 11 118



Citation
j'ai modifié mon fichier Excel pour qu'il soit comme défini colonne 1 le N° de l'image sous le format 0001.jpg et en colone 2 le nom et le prénom sous la forme AAAAAAA_AAAAAAAAAAA

Pour un cas comme celui-là j'utilise Livecode avec un fichier texte tabulé exporté depuis Excel :

On créé une fenêtre (new stack) et on y glisse un bouton.
Et on met ce script dans le bouton (si on enlève les commentaires, il n'y a pas beaucoup à coder) :
Code
on mouseup
  ### on récupère les données du fichier texte
answer file "Indiquer le fichier tabulé :"
if it = "" then exit to top
put URL("file:" & it) into tfile

### on récupère le dossier d'images
answer folder "Indiquez le dossier contenant les fichiers à renommer :"
if it = "" then exit to top
put it into nomDossier

### on indique que le séparateur du fichier texte est la tabulation
set the itemdel to tab
## on se place dans le dossier d'images
set the defaultfolder to nomDossier

## boucle pour renommer les images
repeat for each line l in tfile
   ## colonne 1 = ancien nom
   put item 1 of l into anciennom
   ## colonne 2 = nouveau nom
   put item 2 of l & ".jpg" into nouveaunom
   ## dans le cas où il y a une colonne nom et une colonne prénom, il suffit de remplacer la ligne au-dessus par :
   // put item 2 of l & "_" & item 3 of l & ".jpg" into nouveaunom
  
   ## renommage du fichier
   rename file anciennom to nouveaunom
   ## on récupère les éventuelles erreurs
   if the result <> "" then put "Erreur avec " & anciennom & " > " & the result & cr after erreurs
end repeat

## s'il y a des erreurs on les affiche
if erreurs <> "" then answer erreurs
end mouseup


Ca ne vaut sûrement pas le coup pour cette seule utilisation, mais si l'on a souvent besoin de se créer de petits scripts maison (et même des applications plus complexe multiplateforme) c'est bien pratique.

Ce message a été modifié par hellomorld - 18 Oct 2017, 05:55.


--------------------
Go to the top of the page
 
+Quote Post
macprogresse2
posté 18 Oct 2017, 09:18
Message #13


Nouveau Membre


Groupe : Membres
Messages : 14
Inscrit : 24 Feb 2006
Lieu : 912170
Membre no 56 281



Citation (teddy7545 @ 18 Oct 2017, 00:43) *
Bonsoir,

Quelques nouvelles maintenant que j'ai pu faire les tests du script VBA que j'ai proposé hier:
Le script fonctionne chez moi sans problème et sans aucune modification, mais il est nécessaire de respecter strictement les prérequis
Citation
J'ai lancé le script et il bloc sur ( If Dir(inputFolder & Application.PathSeparator & iFile) <> "" Then)
Mes fichiers image sont sur HD-10.9 en /input donc à la racine
le fichier Excel et au même endroit
Je comprend ici que tu as mis le fichier Excel dans le répertoire /Input.
Ca va poser problème car le premier prérequis n'est pas respecté:
Citation
- Un dossier "Input" dans le même chemin que le fichier excel, qui contient les fichiers à renommer
Cela signifie que le fichier Excel ne doit doit être dans Input mais au niveau supérieur (à la racine dans ton exemple).
D'une façon générale, je te recommande d'éviter de mettre des fichiers de travail à la racine de ton disque dur.
En principe les utilisateurs doivent déposer les fichiers dans les répertoires ~/Desktop ou ~/Documents ou ~/Downloads s'ils sont privés ou dans /Users/Shared (ou un autre dossier partagé) s'ils doivent être partagés par plusieurs utilisateurs.
Citation
j'ai modifié mon fichier Excel pour qu'il soit comme défini colonne 1 le N° de l'image sous le format 0001.jpg et en colone 2 le nom et le prénom sous la forme AAAAAAA_AAAAAAAAAAA
La aussi il y a un écart avec les prérequis ...
il était défini au départ (voir ta demande dans ton tout premier message) que le tableau contenait deux colonnes avec les noms dans la colonne A et les prénoms dans la colonne B.
Citation
- Une colonne A avec le nom
- Une colonne B avec le prénom
Je propose de garder le principe d'avoir Nom et Prénom dans des colonnes différentes.
Les cellules A1 et B1 sont réservée pour les entêtes. Les données doivent donc commencer en A2 pour les noms et en B2 pour les prénoms suivant le prérequis ci-dessous.
Citation
- Les colonnes A et B ont des entêtes, les noms er prénoms commencent donc à partir de la ligne 2


Citation
Pour l'erreur après if Dir( que dois je indiquer /input & Appication.PathSeparator & iFile <>?
Non pas de changement à faire car il n'y a pas d'erreur.
Le chemin est défini dans la variable inputFolder à la troisième ligne du script.
ThisWorkbook.Path récupère le chemin ou se trouve le fichier Excel qui contient la macro (quelque soit l'endroit ou il se trouve : c'est mieux et plus souple que d'écrire le chemin en dur dans le code)
Application.PathSeparator & "Input" ajoute à ce chemin /input.

Citation
Sinon oui au début mon fichier Excel comportait 3 colonnes colonne 1 nom de l'image en cellule 2 sous la forme 0001.jpg et ainsi de suite en colonne 2 Nom de l'éléve au format text ex: AAAAAAA et en colonne 3 le Prénom au format text ex : AAAAAAAAAAA
Il aurait mieux valu dire tout de suite comment tes données sont quand tu les reçois. L'intérêt d'un script ou d'un programme c'est de t'éviter d'avoir à faire du traitement en manuel.
Pour ton info, suivant ta demande initiale
Code
renommage de visuels numéroté de 0001 à 9999
j'ai de mon côté considéré que les fichiers au format xxxx.jpg existaient en partant de 0001. Qu'il y a au moins autant de fichier que de ligne dans le tableau Excel. que tous les numéros se suivent (pas de "trou" dans l'ordre des numéros de fichiers).
En partant de là (si ces conditions sont toujours vraiment respectées), le script n'a pas vraiment besoin de la liste des fichiers puisqu'il sait créer les noms de fichier automatiquement suivant le numéro de ligne qui est en cours de traitement (ligne 2 -> 0001.jpg ; ligne 3 -> 0002.jpg; ligne 4 -> 0003.jpg ...autant de fois qu'il y a de nom dans le tableau)

Je te propose dans un premier temps de rester sur ma proposition et de tester le script avec les deux colonnes ...
Je le remodifierais si nécessaire (c'est pas très compliqué) lorsque tu auras pu faire fonctionner cette première partie.

Pour le moment et afin de refaire un test, je te recommande donc juste de créer un répertoire nommé par exemple "Projet" que tu mettras dans ton répertoire téléchargement.
Dans ce répertoire "Projet" tu mets le fichier Excel (qui contient la liste en deux colonnes + la macro) et le répertoire Input contenant lui seulement les fichiers .jpg.
Une fois cette structure mise en place, teste à nouveau le script que j'avais envoyé hier.
Tu pourras aussi vérifier qu'en déplaçant le répertoire "Projet" (fermer le fichier Excel avant) avec tout son contenu, le script fonctionne toujours si tu le relances.



Bon Voila j'ai tous fait comme tu m'as dit
un dossier Projet dans user/Téléchargement
dans ce dossier j'ai mis le classeur au format .xlsm"
Colonne A "noms" commencent cellule A2
Colonne B "prénoms" commencent cellule B2
je l'ai fait avec 5 lignes pour commencé
et un dossier input avec les visuels avec le format requis dans projet

J'ai réenregistrer le classeur avec le script puis lancé la macro

le script ne me re-numérote pas le visuel portant le nom "0005 Jpg"

Pour comprendre plutôt que de modifier ton script, j'ai rajouté une autre valeur en A7 "ADA" et AA en B7
mais cela aurait pu être END END
et la le script fonctionne a merveille tongue.gif

Un grand pas de franchi biggrin.gif
j'ai renouveler l'opération en créant un nouveau visuel "0006.jpg"
et donc même résultat le visuel "0006.jpg" n'est plus renomé
j'ai rajouté une autre valeur en A8 "END" et "END" en B8

et çà le fait très bien également biggrin.gif


Merci à toi

Cordialement Macprogresse (quand il peut)


--------------------
Nom du modèle Mac Pro:MacPro3,1 :Quad-Core Intel Xeon:3,2 GHz:32 Go Vitesse du bus 1,6 GHzVersion de la ROM de démarrage : MP31.006C.B05 /sous 10.11.6 (15G31)/MacBookPro7,1 A1278
Et des dizaines de G5 G4 POWER MAC 6100/7600/8600/9500/9600 Macintosh Clasic Macintosh 512K Apple II
Go to the top of the page
 
+Quote Post
teddy7545
posté 18 Oct 2017, 11:11
Message #14


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 879
Inscrit : 4 Apr 2004
Lieu : Lorraine - 54
Membre no 17 184



Bonjour,

Sans doute un petit problème de limite...
En A1 as tu écris Nom dans la cellule ? et en B1 as tu écris Prénom ?
Quand le script compte les ceillules, il compte le nombre de cellule remplies dans l'ensemble de la colonne et soustrait 1 pour décompter la cellule A1.
Si tu as rien mis en A1 ça expliquerait parfaitement pourquoi il manque toujours le renommage de la dernière ligne (sauf quand tu ajoute une ligne supplémentaire inutile) ...

Si non déjà fait, essai donc d'ajouter en A1 et B1 les entêtes (le nom de la colonne NOM pour la colonne A dans la cellule A1 et PRENOM pour la colonne B dans la cellule B1)
Ca devrait fonctionner normalement ainsi sans avoir à ajouter la ligne END END smile.gif

Bon test...et bravo pour ta persévérence

Merci à hellomorld pour son retour.
Comme dit avant oui on pourrait faire la mêle chose avec des tas de language.
J'ai pas fais d'hypercard depuis longtemps mais évidemment ça peut aussi le faire ....
J'ai préparer un autre script en Applescript qui va très bien aussi ...
En VBA ou en Applescript on peut aussi amenager un visuel avec un bouton simplement ( mais ça sera une autre étape le temps que notre ami trouve ses marque avec cette partie).
A l'occasion je testerais livacode quand même pour le fun mêm si aujourd'hui je me suis davantage développé dans d'autre languages.

macprogresse2:
Citation
Il faut par la suite mais çà c'est déja OK fournir un fichier format 15x20 cm en 300 dpi et une vignette de moins de 25 Ko sachant ....
en quel langage as tu développé cette partie... ?
Si on veut faire un outil unique il va falloir converger l'ensemble à un moment idéalement dans le même langage.
Si tu veux, communiques moi ce que tu as déjà fais sur ce point pour que je regarde comment l'intégrer ou le réécrire autrement au besoin.

Ce message a été modifié par teddy7545 - 18 Oct 2017, 11:33.


--------------------
MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces
MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz
Go to the top of the page
 
+Quote Post
macprogresse2
posté 18 Oct 2017, 19:27
Message #15


Nouveau Membre


Groupe : Membres
Messages : 14
Inscrit : 24 Feb 2006
Lieu : 912170
Membre no 56 281



Citation (teddy7545 @ 18 Oct 2017, 12:11) *
Si non déjà fait, essai donc d'ajouter en A1 et B1 les entêtes (le nom de la colonne NOM pour la colonne A dans la cellule A1 et PRENOM pour la colonne B dans la cellule B1)
Ca devrait fonctionner normalement ainsi sans avoir à ajouter la ligne END END smile.gif


Re bonjour maitre

les cellules étaient déjà nommées mais elle étaient au format standard je les ai passées en format text et viré le END END
et tous est Nickel chrome biggrin.gif

Merci pour ta patience et les cours que tu me donne.

je ne programme que très peu je script dans photoshop pour des choses parfois très contraignantes (demande de client ou d'amis)
EX : Demande créer pour des milliers de fichiers un script capable de prendre une image n'importe quelle taille hauteur ou largueur puis générer un visuel produit au centre de l'image détouré sur fond blanc avec ombre de X pixels sous le produit dans un carré de 20cm x 20cmx et 300DPI avec un bord blanc tournant de 25 pixel au format tif
puis le même fichier en 600 x 600 px avec bord de 20 px en 300 DPI format Jpeg
puis le même en 72DPI mais avec 10px de bord blanc mais sans ombre format jpeg
et une en 300 x 300 px toujours 10 pixels de blanc tournant mais sans ombre en .PNG
et une petite dernière en 120x 120 5 pixel tournant avec ombre de 5px sous le produit en .gif le tous dans des dossier bien spécifique
à créer sur serveur FTP
un peu d'apple script pour création de dossiers sous dossiers et déplacement sur serveur distant
et un peu d'automator mais c'est chiant car d'un OS a l'autre il faut modifier

la génération des vignettes pour la suite et un droplet photoshop car je n'ai pas trouvé la solution pour avoir à coup sur moins de 25 KO donc je regarde le poids dans les fichiers tif et fait mon réglage en fonction

Il faut par la suite mais çà c'est déjà OK fournir un fichier format 15x20 cm en 300 dpi et une vignette de moins de 25 Ko sachant que c'est du jpg pas moyen de savoir réellement le poids du fichier avant qu'il ne soit généré et avec 25ko la seul option que j'ai trouvé et de passer par un enregistré pour le web en sélectionnant le fichier le plus lourd dans les format 15X20 car même avec cette méthode l'optimisation te dit que ton fichier feras 23,5 ko et en réalité une fois enregistré les infos te disent 25,9 ko donc je garde une réserve en ne validant que si moins de 20 ko dans la fenêtre de prévisualisation et je fait un droplet sur le quel je glisse tous les fichiers jpg HD.

Donc rien en applescript pour gérer cette facette mais pas grave si ca se fait en deux temps
je ne veux pas te monopoliser

Tu est sous mac?
as tu PS 5 OU 6 ?
si tu veux tu trouvera sous ce lien le script photoshop avec le quel je créer mon droplet sur le quel je glisse mes visuel (mais te faudra revoir le chemin de l'enregistrer sous pour que çà marche chez toi la feuille Excel et 6 visuels pour jouer...

valise visuels fichier excel script photoshop

Ce message a été modifié par baron - 18 Oct 2017, 23:49.
Raison de l'édition : Balises QUOTE


--------------------
Nom du modèle Mac Pro:MacPro3,1 :Quad-Core Intel Xeon:3,2 GHz:32 Go Vitesse du bus 1,6 GHzVersion de la ROM de démarrage : MP31.006C.B05 /sous 10.11.6 (15G31)/MacBookPro7,1 A1278
Et des dizaines de G5 G4 POWER MAC 6100/7600/8600/9500/9600 Macintosh Clasic Macintosh 512K Apple II
Go to the top of the page
 
+Quote Post
teddy7545
posté 18 Oct 2017, 22:47
Message #16


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 879
Inscrit : 4 Apr 2004
Lieu : Lorraine - 54
Membre no 17 184



Bonsoir macprogresse2,

Citation
tous est Nickel chrome biggrin.gif
Parfait si ça fonctionne cool.gif
Citation
Tu est sous mac?
Oui bien sur comme indiqué dans ma signature .. mais aussi sur PC au travail seulement
Citation
as tu PS 5 OU 6 ?
Non je ne dispose pas de Photoshop. Déjà utilisé de vieilles versions mais plus installé depuis longtemps (pas trop mon usage et je traite le peu de besoin que j'ai avec GIMP ou d'autres outils)
Je vais tout de même essayer de voir si je peux lire tes infos.

Ce message a été modifié par teddy7545 - 18 Oct 2017, 22:47.


--------------------
MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces
MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz
Go to the top of the page
 
+Quote Post
macprogresse2
posté 18 Oct 2017, 23:31
Message #17


Nouveau Membre


Groupe : Membres
Messages : 14
Inscrit : 24 Feb 2006
Lieu : 912170
Membre no 56 281



Bonsoir.

Si tu as teamviewer tu peux prendre la main sur ma machine pas de problème pour voir comment ça ce passe il suffit de fixer une heure à ta convenance et je serait là rolleyes.gif


grand merci de ton investissement

tu me fait pensé à Pbell quand nous avons mis au point un script de traitement fichier à savoir transfert de tracé d'un document .jpg à un document en tif avec toutes les galères liées au différentes version de système à l'époque 10.5 10.6 10.7 et des version différente de Photoshop CS5 CS5.5 CS6
des qu' un script fonctionner avec un couple 10.5 et CS5 il était HS avec 10.5 et CS5.5 et ainsi de suite mais nous somme quand même parvenu a ne réalisé qu'un seul script en utilisant des supercheries mais nous avons échanger pendant un bon bout de temps avant de trouvé.

faute à qui a Adobe qui change en permanence des fonctions scriptables ou pas suivant les versions ....
et également à apple bien sur
pour prendre l'exemple d'automator d'un sytème à l'autre plus rien ne fonctionne les instructions ne sont plus valide vas savoir pourquoi?

Sur ce bonne nuit A+




--------------------
Nom du modèle Mac Pro:MacPro3,1 :Quad-Core Intel Xeon:3,2 GHz:32 Go Vitesse du bus 1,6 GHzVersion de la ROM de démarrage : MP31.006C.B05 /sous 10.11.6 (15G31)/MacBookPro7,1 A1278
Et des dizaines de G5 G4 POWER MAC 6100/7600/8600/9500/9600 Macintosh Clasic Macintosh 512K Apple II
Go to the top of the page
 
+Quote Post
teddy7545
posté 19 Oct 2017, 00:39
Message #18


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 879
Inscrit : 4 Apr 2004
Lieu : Lorraine - 54
Membre no 17 184



Ok on pourra faire ça avec TeamViewer dès que je serais revenu de mon déplacement.
On reste en contact en MP pour planifier ça si tu veux pour éviter de polluer le forum.

Pour le fun je met ci-dessous le petit script que j'avais fais en Applescript
Tu pourra le tester si tu souhaites.
Il fait la même chose que le VBA mais il faut préalablement convertir ton fichier Excel en csv.
Mette le fichier .csv au même endroit que le fichier Excel (tu peux laisser les deux).
L'endroit ou tu enregistre le script n'a pas d'importance.
Tes fichiers sources toujours dans le répertoire Input (Idem que le VBA)
Une fois le script lancé il te demande de sélectionner ton fichier .csv et le script fais le reste.
Code
set mySource to (choose file with prompt "Choisiser le fichier CSV")
tell application "Finder"
    set myName to name of file mySource
    set destFolder to ((container of mySource) as text) & "Input:"
end tell

set myArray to paragraphs of (read (mySource))

set TID to AppleScript's text item delimiters
set AppleScript's text item delimiters to ","

repeat with i from 2 to (count of myArray) - 1
    set iName to text 1 thru -1 of (text item 1 of (item i of myArray))
    set iSurname to text 1 thru -1 of (text item 2 of (item i of myArray))
    set max_leading_zeros to 4
    set txt_val to text (max_leading_zeros * -1) thru -1 of ("0000000000" & (i - 1))
    set theFile to POSIX path of (destFolder as text) & txt_val & ".jpg"
    set destPath to POSIX path of (destFolder as text) & iName & "-" & iSurname & ".jpg"
    
    tell application "System Events"
        set the name of file theFile to destPath
    end tell
    
end repeat

set TID to AppleScript's text item delimiters

Avec un petit bonus : Un petit générateur de fichiers vides avec le format requis qui m'a servi à faire les tests.
Code
set chemin to (choose folder "Dossier destination ?") -- Choix du dossier

tell application "Finder"
    repeat with i from 1 to 30
        set max_leading_zeros to 4
        set txt_val to text (max_leading_zeros * -1) thru -1 of ("0000000000" & i)
        set theFile to (chemin as text) & txt_val & ".jpg"
        set status to false as boolean
        tell application "Finder" to if exists theFile then set status to true
        if status is false then
            make new file in (folder chemin) with properties {name:txt_val & ".jpg"}
        end if
    end repeat
end tell

Dis moi si tout ça fonctionne bien pour toi également.
A bientôt et bonne nuit.

Ce message a été modifié par teddy7545 - 19 Oct 2017, 00:40.


--------------------
MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces
MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz
Go to the top of the page
 
+Quote Post
paradisestation
posté 19 Oct 2017, 05:36
Message #19


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 928
Inscrit : 22 Feb 2005
Lieu : Charente
Membre no 33 643



Perso je me sers toujours d'un script créé dans Automator et qui apparait en menu contextuel afin de renommer des fichiers. Il y a plusieurs options de renommage et c'est instantané. https://www.youtube.com/watch?v=tKCDGWdUgko Je dois même dire que je m'en sers assez souvent. Très pratique. Tu mettras le script dans Services. J'espère que ma réponse n'est pas trop à côté de la plaque et qu'elle pourra te servir.


--------------------
 MacBook Pro 2015 i7 2,2 GHz 16 Go OS 10.14.6  iMac 27" 2017 i7 4,2 Ghz 40 Go OS 10.14.6 
Go to the top of the page
 
+Quote Post
macprogresse2
posté 19 Oct 2017, 07:37
Message #20


Nouveau Membre


Groupe : Membres
Messages : 14
Inscrit : 24 Feb 2006
Lieu : 912170
Membre no 56 281



Citation (paradisestation @ 19 Oct 2017, 06:36) *
Perso je me sers toujours d'un script créé dans Automator et qui apparait en menu contextuel afin de renommer des fichiers. Il y a plusieurs options de renommage et c'est instantané. https://www.youtube.com/watch?v=tKCDGWdUgko Je dois même dire que je m'en sers assez souvent. Très pratique. Tu mettras le script dans Services. J'espère que ma réponse n'est pas trop à côté de la plaque et qu'elle pourra te servir.


Merci à toi mais comme je le disais les automator ont la fâcheuse manie de ne plus fonctionner des que change de version système
je testerai quand même biggrin.gif
bonne journée
cordialement
Macprogresse


--------------------
Nom du modèle Mac Pro:MacPro3,1 :Quad-Core Intel Xeon:3,2 GHz:32 Go Vitesse du bus 1,6 GHzVersion de la ROM de démarrage : MP31.006C.B05 /sous 10.11.6 (15G31)/MacBookPro7,1 A1278
Et des dizaines de G5 G4 POWER MAC 6100/7600/8600/9500/9600 Macintosh Clasic Macintosh 512K Apple II
Go to the top of the page
 
+Quote Post
macprogresse2
posté 19 Oct 2017, 10:29
Message #21


Nouveau Membre


Groupe : Membres
Messages : 14
Inscrit : 24 Feb 2006
Lieu : 912170
Membre no 56 281



Citation (hellomorld @ 18 Oct 2017, 06:47) *
Citation
j'ai modifié mon fichier Excel pour qu'il soit comme défini colonne 1 le N° de l'image sous le format 0001.jpg et en colone 2 le nom et le prénom sous la forme AAAAAAA_AAAAAAAAAAA

Pour un cas comme celui-là j'utilise Livecode avec un fichier texte tabulé exporté depuis Excel :

On créé une fenêtre (new stack) et on y glisse un bouton.
Et on met ce script dans le bouton (si on enlève les commentaires, il n'y a pas beaucoup à coder) :
Code
on mouseup
  ### on récupère les données du fichier texte
answer file "Indiquer le fichier tabulé :"
if it = "" then exit to top
put URL("file:" & it) into tfile

### on récupère le dossier d'images
answer folder "Indiquez le dossier contenant les fichiers à renommer :"
if it = "" then exit to top
put it into nomDossier

### on indique que le séparateur du fichier texte est la tabulation
set the itemdel to tab
## on se place dans le dossier d'images
set the defaultfolder to nomDossier

## boucle pour renommer les images
repeat for each line l in tfile
   ## colonne 1 = ancien nom
   put item 1 of l into anciennom
   ## colonne 2 = nouveau nom
   put item 2 of l & ".jpg" into nouveaunom
   ## dans le cas où il y a une colonne nom et une colonne prénom, il suffit de remplacer la ligne au-dessus par :
   // put item 2 of l & "_" & item 3 of l & ".jpg" into nouveaunom
  
   ## renommage du fichier
   rename file anciennom to nouveaunom
   ## on récupère les éventuelles erreurs
   if the result <> "" then put "Erreur avec " & anciennom & " > " & the result & cr after erreurs
end repeat

## s'il y a des erreurs on les affiche
if erreurs <> "" then answer erreurs
end mouseup


Ca ne vaut sûrement pas le coup pour cette seule utilisation, mais si l'on a souvent besoin de se créer de petits scripts maison (et même des applications plus complexe multiplateforme) c'est bien pratique.


Merci à toi je viens de télécharger livecode je l'installe et essayerai de voir si je peux en faire quelque chose de concret dry.gif
Pour le moment je continu sur la voie empruntée par teddy7545
Bien Cordialement
Macprogresse


ah oui 238$ la bibliothèque Excel dry.gif

Ce message a été modifié par macprogresse2 - 19 Oct 2017, 11:35.


--------------------
Nom du modèle Mac Pro:MacPro3,1 :Quad-Core Intel Xeon:3,2 GHz:32 Go Vitesse du bus 1,6 GHzVersion de la ROM de démarrage : MP31.006C.B05 /sous 10.11.6 (15G31)/MacBookPro7,1 A1278
Et des dizaines de G5 G4 POWER MAC 6100/7600/8600/9500/9600 Macintosh Clasic Macintosh 512K Apple II
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 18th April 2024 - 08:13