IPB

Bienvenue invité ( Connexion | Inscription )

> Renommer en masse des dossiers depuis une liste excel [Résolu]
Options
Bartaba87
posté 22 Mar 2021, 16:44
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
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
PBell
posté 25 Mar 2021, 13:46
Message #2


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 266
Inscrit : 7 Dec 2013
Lieu : Ile de France
Membre no 188 169



Bonjour,
Le script ci-dessous fait ce que tu demandes.
Dans le cas où des nouveaux noms de dossiers existent déjà, les dossiers ne sont pas changés, mais le script indique le nombre d'erreurs et les noms en erreur sont dans le presse papier.

Code
set ExcelFile to choose file with prompt "Selectionner le fichier Excel" of type {"XLSX"}
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


Pour tester, un dossier parent avec des sous dossier et un fichier Excel avec les colonnes A et B comme indiquées précédemment.
Le script demande de sélectionner le fichier Excel, puis le dossier parent.
Le fichier Excel s'ouvre et se ferme rapidement, juste le temps de lire les 2 colonnes.

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
Go to the top of the page
 
+Quote Post

Les messages de ce sujet
- Bartaba87   Renommer en masse des dossiers depuis une liste excel [Résolu]   22 Mar 2021, 16:44
- - Vincent   Le plus simple : https://www.publicspace.net/ABett...   22 Mar 2021, 16:53
|- - Bartaba87   Citation (Vincent @ 22 Mar 2021, 16:53) L...   24 Mar 2021, 20:30
|- - Vincent   Citation (Bartaba87 @ 24 Mar 2021, 20:30)...   24 Mar 2021, 22:43
- - baron   Tu peux aussi jeter un œil là : https://forums....   22 Mar 2021, 17:48
|- - Bartaba87   Citation (baron @ 22 Mar 2021, 17:48) Tu ...   24 Mar 2021, 20:45
- - PBell   Bonsoir, Avec Applescript, cela se fait assez faci...   22 Mar 2021, 18:33
- - Bartaba87   Oh la la, merci à tous, je n'avais pas vu vos...   24 Mar 2021, 14:51
|- - baron   Citation (Bartaba87 @ 24 Mar 2021, 14:51)...   24 Mar 2021, 20:30
- - PBell   Bonsoir, Je résume donc le besoin: 1) Demander �...   24 Mar 2021, 21:16
|- - Bartaba87   Citation (PBell @ 24 Mar 2021, 21:16) Bon...   24 Mar 2021, 21:25
- - Bartaba87   Bonsoir Vincent et merci pour la réponse! Je ...   24 Mar 2021, 23:41
- - Bartaba87   Vincent, Merci beaucoup d'avoir insisté. Apr...   25 Mar 2021, 13:20
- - PBell   Bonjour, Le script ci-dessous fait ce que tu deman...   25 Mar 2021, 13:46
- - Bartaba87   Merci beaucoup PBell, je teste ça très vite et j...   25 Mar 2021, 22:33
- - Bartaba87   Bonjour PBell et désolé de se retour tardif. Al...   29 Mar 2021, 09:08
- - PBell   Bonjour, Si les fichiers XL ont grisés c'est ...   30 Mar 2021, 08:25
- - Bartaba87   Bonjour PBell, et merci. Le script fonctionne par...   30 Mar 2021, 09:15
- - mr23   Salut à tous! Je déterre ce sujet très int...   5 Jan 2024, 20:57
- - PBell   Bonjour, Le plus simple est effectivement de mettr...   6 Jan 2024, 08:40
- - PBell   Re-bonjour, Comme ça m’énervait un peu de voi...   6 Jan 2024, 11:48
- - mr23   Merci PBell !! Je vais tester ça cette s...   8 Jan 2024, 09:18
- - PBell   Bonsoir mr23, Pas d'inquiétude pour ta quest...   8 Jan 2024, 19:47
- - mr23   YESSSS!! Oh p***in, ça marche! Merc...   17 Jan 2024, 11:11


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 : 2nd August 2025 - 01:05