![]() |
Bienvenue invité ( Connexion | Inscription )
![]() |
![]()
Message
#1
|
|
Nouveau Membre Groupe : Membres Messages : 14 Inscrit : 22 Mar 2021 Membre no 213 706 ![]() |
Bonjour à tous,
Je m'adresse à vous pour trouver une solution afin de renommer en masse des dossiers depuis une liste excel sur mac. J'ai trouvé une solution depuis le web anglophone : https://www.howtoexcel.org/vba/how-to-creat...rs-from-a-list/ mais autant j'arrive à la faire fonctionner sur windows, autant impossible d'exécuter la commande avec un chemin du finder mac os. Auriez-vous des idées ou adaptation de Visual Basic à apporter ? P.S. : Je suis une bille en script/terminal/code (mais ça ne me fait pas peur d'essayer). Merci d'avance de vos réponses, Bartaba. Config : MAC OS Mojave (10.14.6) iMac (21.5-inch, Late 2015) 2,8 GHz Intel Core i5 Excel pour Mac version 16.46 |
|
|
![]() |
![]()
Message
#2
|
|
Macbidouilleur de bronze ! ![]() ![]() Groupe : Membres Messages : 266 Inscrit : 7 Dec 2013 Lieu : Ile de France Membre no 188 169 ![]() |
Bonjour,
Le plus simple est effectivement de mettre tous les fichiers à plat dans un seul dossier. J'ai repris le script précédent en changeant simplement les références à des dossiers par des références à des fichiers. Ton fichier Excel doit contenir en colonne 1 les noms actuels et en colonne 2 les nouveaux noms de fichier. Attention, dans les 2 cas, AVEC leur extension ! CODE set ExcelFile to choose file with prompt "Selectionner le fichier Excel" tell application "Microsoft Excel" -- Le fichier contient une colonne A avec le nom de fichier actuel et une colonne B avec le nouveau nom open ExcelFile tell active sheet to set maListe to value of used range close window 1 -- MaListe est une liste de lignes (row) avec 2 valeurs, ancien et nouveau end tell set DossierParent to choose folder with prompt "Sélectionner le dossier contenant les fichiers à renommmer" set ListeErreur to {} repeat with Ligne in maListe -- boucle sur les lignes Excel -- cherche le fichier avec le nom item 1 of Ligne -- remplace le dossier avec le nom item 2 of ligne tell application "Finder" set Fichier to (every file of folder DossierParent whose name is (item 1 of Ligne)) if (count of Fichier) = 1 then -- trouvé un Fichier de ce nom try set name of (first item of Fichier) to item 2 of Ligne on error set end of ListeErreur to item 1 of Ligne end try end if end tell end repeat -- Ligne suivante if (count of ListeErreur) > 0 then display alert "Le script a rencontré " & (count of ListeErreur) & " erreur(s)." & return & "Voir dans le presse papier." set AppleScript's text item delimiters to "," set the clipboard to items 1 thru -1 of ListeErreur as text else display alert "Le script s'est éxécuté sans erreur." end if J'ai testé sur mon vieux imac27 (Excel 2011 / El Capitain) et cela fonctionne sans problème. Mais j'ai aussi testé ce vieux script sur ma machine de 2023 (24' M1) mais surtout avec Excel 2021...et là, Ô surprise, Excel ne répond plus correctement aux instructions Applescript (merci Microsoft !! grrr)...mais le reste fonctionne. ...Je savais déjà que Microsoft avait volontairement bloqué des fonctionnalités pour la version Mac, y compris des fonctionnalités exitantes dans des versions Mac antérieures, mais là, ils décrochent le ponpon de la médiocrité !!!! Si tu a une autre version Excel teste de ton côté. Si tu as une version 2021, je regarderai le script pour le faire éventuellement fonctionner avec un fichier texte csv. Cordialement -------------------- iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8 iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11 Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8 |
|
|
![]() ![]() |
Nous sommes le : 2nd August 2025 - 01:04 |