# AppleScript Sauver un fichier numbers dans un dossier choisi



## Moutet (3 Décembre 2019)

Bonsoir,
Quand je lance mon script j'ai cette erreur  qui apparait:

tell application "Numbers"
    activate

    set fileRef to ("Macintosh HD:Users:gerarduocuments:Script:AppleScriptepense_Script:FichiersDeTravail" as alias)
   display dialog "Quel type de rapport ?" default answer ""
   set nouveauRapport to (text returned of the result) as text
   set newClasseur to make new document at front
   set newfilename to (fileRef as string) & nouveauRapport & ".numbers"       
   save newClasseur in newfilename  
end tell

En resultat j'obtiens ceci :

error "Erreur dans Numbers : Le gestionnaire AppleEvent a échoué." number -10000     

Merci pou l'aide que vous voudrez bien m'accorder

DM


----------



## zeltron54 (4 Décembre 2019)

Bonjour,

Plusieurs petites erreur notamment sur le chemin...
Essai avec ce script mais vérifi bien le chemin... tu peux faire un glisser--déposer du dossier fichier de travail dans la fenêtre, puis ajouter un "/" à la fin ou remplacer les / par des :  et ajouter Macintosh HD au début et les : à la fin.


```
tell application "Numbers"
    activate
    set fileRef to "Macintosh HD:Users:gerardu:Documents:Script:AppleScript:Depense_Script:FichiersDeTravail:"
    display dialog "Quel type de rapport ?" default answer ""
    set nouveauRapport to (text returned of the result) as text
    set newClasseur to make new document at front
    set newfilename to fileRef & nouveauRapport & ".numbers"
    save front document in newfilename  
end tell
```


----------



## Moutet (4 Décembre 2019)

Bonsoir, Zeltron

Dans mon script cela ne fonctionne pas je mets l'ensemble du script à la  fin.
J'explique 
Je veux créer un rapport dans un document numbers.
je liste dans un dossier donné si  le fichier existe ce qui correspond à "choose liste".
Si le fichier n'existe pas je le crée par l'action annuler de choose liste( je n'ai pas trouver mieux pour l'instant)
Je crée mon tableau comme je le souhaite.
Par la suite je le remplirai ce que normalement je sais faire
Et pour terminer je l'enregistre et là ::Erreur dans Numbers : Il est impossible d’obtenir document 1 of table 1 of sheet 1 of document id "09F11991-AC0C-47ED-8A33-DE1FC463AE41".

Ci dessous mon script

set fileRef to ("Macintosh HD:Users:gerarduocuments:Script:AppleScriptepense_Script:FichiersDeTravail" as alias)

set listeFichiers to list folder (fileRef)

tell application "Finder"

    display dialog "quel année voulez-vous traiter" default answer ""
    set monAnnee to (text returned of the result) as text


    set monRapport to (choose from list the my listeFichiers with prompt " Que voulez-vous traiter ?") as text
end tell
tell application "Numbers"
    activate
    if monRapport is "false" then

        display dialog "Quel type de rapport ?" default answer ""
        set nouveauRapport to (text returned of the result) as text

        set newClasseur to make new document at front

        tell newClasseur

            delete every table of every sheet
            set the columnCount to 3
            set the rowCount to 2
            tell sheet 1
                set leTableau to make new table with properties {column count:columnCount, row count:rowCount}

                set entetesDeColonne to {"DATE", "LIBELLE", "DEPENSE"}

                tell table 1

                    -- Affectation des entêtes de colonnes

                    set the selection range to row 1

                    repeat with j from 1 to the columnCount


                        set maValeur to item j of entetesDeColonne
                        log maValeur


                        set the selection range to cell 1 of column j
                        set value of cell 1 of column j to maValeur
                        set alignement to center

                        --set alignement to horizontal

                    end repeat
                    set newfilename to fileRef & nouveauRapport & ".numbers"
                    save front document in newfilename

                end tell
            end tell
            -- ecriture de la suite

        end tell




    else

        set monFichier to fileRef & monRapport as string

        open monFichier as alias

        tell front document

        end tell


    end if

end tell

encore merci car j'ai la fenêtre permission qui n'apparait plus



zeltron54 a dit:


> Bonjour,
> 
> Plusieurs petites erreur notamment sur le chemin...
> Essai avec ce script mais vérifi bien le chemin... tu peux faire un glisser--déposer du dossier fichier de travail dans la fenêtre, puis ajouter un "/" à la fin ou remplacer les / par des :  et ajouter Macintosh HD au début et les : à la fin.
> ...


----------



## zeltron54 (4 Décembre 2019)

Lors de la définition de ta variable "fileref" à ta première ligne "FichiersDeTravail" est le dossier dans lequel tu veux enregistrer ton fichier à la fin donc ton chemin doit se terminer par ":"
Ensuite tu défini cette variable comme étant un alias ... et à la fin du script tu concatènes du texte avec cette variable (set newfilename to fileRef & nouveauRapport & ".numbers") donc pas de chemin valide.

Regarde la 1ere ligne de mon exemple ....


----------



## Moutet (4 Décembre 2019)

Merci,

J'avais lu trop vite
parfait cela fonctionne parfaitement

encore merci


----------



## zeltron54 (4 Décembre 2019)

Content pour toi !


----------

