Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ Technologies Apple _ Création de dossiers

Écrit par : ArtChass 21 Feb 2012, 17:00

Bonjour,

Je cherche à savoir s'il est possible de faire un script (ou autres) afin de créer des dossiers suivant les données d'une feuille Excel.

Pour exemple :

J'ai un fichier Excel avec 10 colonnes, sur les 10 je voudrais retenir l'information de la colonne A et B.
Je voudrais que se créent sur mon bureau ou dans un dossier spécifique, un dossier reprenant les données de A1 & B1, un nouveau dossier A2 & B2...

Est-il possible de faire cela ?

Merci pour votre aide.

ArtChass

Écrit par : ArtChass 25 Feb 2012, 23:48

Et up !
Barba'up !

Écrit par : Jaypee 26 Feb 2012, 13:16

Il faudrait donner un exemple plus concret. Je n'arrive pas du tout à suivre ta description.

J-P

Écrit par : teddy7545 26 Feb 2012, 13:23

Oui c'est possible et de pleins de façons différentes, mais ta demande n'est pas très claire et tu ne semble pas avoir fait beaucoup de recherche. dry.gif
C'est sans doute la raison pour laquelle tu n'as pas eu de réponse.
Je devrais donc m'arrêter la dans ma réponse mais bon ...

Pour te faire avancer un peu je te propose une solution en utilisant un Applescript simple qui permet de créer des répertoires et le "dictionnaire Excel" qui permet entre autre de lire le contenus des cellules d'une feuille Excel rolleyes.gif

Tu ne précises pas quelle version d'Excel ni quel système tu utilises.
Toutefois comme je n'utilise que des fonctions simple du dictionnaire de Excel dans Applescript je pense que ça devrait passer.
Tu ne semble vouloir créer que des répertoires nommés avec une concaténation des contenus des cellules des colonnes A et B de chaque ligne.
Les autres champs dans les cellules C et plus ne semblent pas t'intéresser.
Tu ne précise pas combien il y aura de ligne a traiter --> j'ai donc prévu une fonction qui va chercher la dernière cellule utilisée dans la colonne A (A supposer que toutes les cellules contiennent quelque chose et qu'elles sont toutes destinées à produire un répertoire.
J'ai inclus des commentaires pour que tu comprennes ce que je fais.

Pour que cela fonctionne du dois manuellement ouvrir ton fichier Excel et ton dossier Excel doit être au premier plan dans Excel
Par ailleurs je suppose qu'il n'y auras pas de nom créer en doublon car ça ferait une erreur (pas mis en place la gestion des erreurs)
Le script te propose de nommer le répertoire à ta convenance mais ne te donne pas le choix de le mettre ailleurs que sur le bureau

Code
-- Création d'un répertoire sur le bureau pour stocker les nouveaux répertoires qui seront créés

display dialog "Entrez le nom du dossier à créer :" default answer "" buttons {"Annuler", "Continuer"} default button 2
set mon_dossier to text returned of the result

tell application "Finder" to make new folder at desktop with properties {name:mon_dossier}

--Préparation du chemin du répertoire pour la sauvegarde des nouveaux répertoires

set mon_chemin to (POSIX file (POSIX path of (path to desktop) & mon_dossier))

--Travail dans le Fichier Excel

tell application "Microsoft Excel"
    tell active sheet
        
        --Définition du nombre de répertoires à créer
        set lastRowNum to first row index of (get end (cell 1 of row (count rows)) direction toward the top)
        
        --Boucle qui lit pour chaque ligne les cellules Excel et écrit le répertoire
        repeat with N from 1 to lastRowNum
            
            --Lecture des cellules A(N) et B(N) dans le fichier Excel
            set mon_titre to ((get value of range ("A" & N)) & (get value of range ("B" & N))) as string
            
            --Création du répertoire avec le nom définit ci-dessus
            tell application "Finder" to make new folder at folder mon_chemin with properties {name:mon_titre}
            
        end repeat
        
    end tell
end tell


Tiens nous au courant de tes essais cool.gif

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)