![]() |
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
|
|
Nouveau Membre Groupe : Membres Messages : 14 Inscrit : 22 Mar 2021 Membre no 213 706 ![]() |
Bonjour PBell, et merci.
Le script fonctionne parfaitement après avoir enlevé le of type XLSX. Voici donc le code final qui a fonctionné chez moi : 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 dossier 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 dossiers à renommmer" set ListeErreur to {} repeat with Ligne in maListe -- boucle sur les lignes Excel -- cherche dossier avec le nom item 1 of Ligne -- remplace le dossier avec le nom item 2 of ligne tell application "Finder" set Dossier to (every folder of folder DossierParent whose name is (item 1 of Ligne)) if (count of Dossier) = 1 then -- trouvé un dossier de ce nom try set name of (first item of Dossier) to item 2 of Ligne on error log "erreur" set end of ListeErreur to item 1 of Ligne end try log "c=" & (count of ListeErreur) 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 Merci beaucoup PBell. Merci à vous tous pour m'avoir aidé à solutionner se problème de différentes manières. Bonne journée, Bartaba |
|
|
![]() ![]() |
Nous sommes le : 2nd August 2025 - 01:05 |