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é 6 Jan 2024, 08:40
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
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:04