# Convertir plusieurs .xls en .pdf



## julien3838 (19 Mai 2016)

Hello,
Je cherche un moyen de convertir plusieurs documents excel (.xls) en documents pdf
J'ai trouvé sur le forum le script pour convertir du doc en pdf qui marche parfaitement mais je n'arrive pas à l'adapter pour du excel.
Voici le script en question : 

_set ces_fichiers to (choose file with multiple selections allowed without invisibles)

repeat with un_fichier in ces_fichiers
 set F to un_fichier as string
 if F ends with ".doc" then --traite seulement les fichiers avec l'extension " .doc"
 set fichier_PDF to (text 1 thru -4 of F) & "pdf" -- chemin du pdf
 tell application "Microsoft Word" -- fonctionne sous Word 2008
 launch
 open un_fichier
 save as active document file name fichier_PDF file format format PDF
 close document 1 saving no
 end tell
 end if
end repeat_

Pouvez-vous m'aider?

Merci


----------



## r e m y (19 Mai 2016)

Et tu as essayé de remplacer .doc par .xls, Word par Excel et document1 par classeur1 dans le script?

Cela dit, il faudrait déjà vérifier en le faisant manuellement, qu'en ouvrant un fichier xls on peut aller dans Fichier pour choisir enregistrer sous et sélectionner le format pdf. Je n'en suis pas sûr.... (D'autant qu'il y a aussi le problème des multiples onglets du fichier XLS à gérer


----------



## Locke (19 Mai 2016)

Enregistrer en PDF sauvegarde colonne par colonne, l'option d'une sélection donnera le même résultat.


----------



## julien3838 (19 Mai 2016)

r e m y a dit:


> Et tu as essayé de remplacer .doc par .xls, Word par Excel et document1 par classeur1 dans le script?
> 
> Cela dit, il faudrait déjà vérifier en le faisant manuellement, qu'en ouvrant un fichier xls on peut aller dans Fichier pour choisir enregistrer sous et sélectionner le format pdf. Je n'en suis pas sûr.... (D'autant qu'il y a aussi le problème des multiples onglets du fichier XLS à gérer


Oui j'ai déjà essayé mais sans succès


----------



## r e m y (19 Mai 2016)

Sans succès.... C'est à dire?
A quel moment ca bloquait ?
Y avait-il des messages d'erreur? Lesquels?


----------



## julien3838 (19 Mai 2016)

r e m y a dit:


> Sans succès.... C'est à dire?
> A quel moment ca bloquait ?
> Y avait-il des messages d'erreur? Lesquels?


----------



## r e m y (19 Mai 2016)

Ok donc une erreur de syntaxe dans le script. 
A quelle ligne?


----------



## julien3838 (19 Mai 2016)

r e m y a dit:


> Ok donc une erreur de syntaxe dans le script.
> A quelle ligne?


J'ai ça :


----------



## r e m y (19 Mai 2016)

Sur cette ligne je pense qu'il faut laisser "active document" plutot que de changer document en tableau
Ou alors le traduire en anglais : active spreadsheet


----------



## julien3838 (19 Mai 2016)

r e m y a dit:


> Sur cette ligne je pense qu'il faut laisser "active document" plutot que de changer document en tableau
> Ou alors le traduire en anglais : active spreadsheet


J'ai déja essayé, ca ne fonctionne pas, erreur sur la même ligne ...


----------



## r e m y (19 Mai 2016)

Alors essaie
Save as active workbook ...


----------



## julien3838 (19 Mai 2016)

r e m y a dit:


> Alors essaie
> Save as active workbook ...


----------



## r e m y (19 Mai 2016)

filename doit être en un seul mot

Personnellement j'écrivais cette ligne sous la forme:

Save as active workbook filename fichier_PDF as PDF file format


----------



## julien3838 (19 Mai 2016)

r e m y a dit:


> filename doit être en un seul mot
> 
> Personnellement j'écrivais cette ligne sous la forme:
> 
> Save as active workbook filename fichier_PDF as PDF file format


Toujours pas... Tant pis, ca ne doit pas être possible aussi facilement. Merci pour l'aide en tout cas


----------



## r e m y (19 Mai 2016)

Ca coince à quel endroit maintenant?

(Pour l'instant c'est juste un probleme de syntaxe de cette ligne du script. rien ne dit que ca ne peut pas fonctionner!)


----------



## julien3838 (19 Mai 2016)

r e m y a dit:


> Ca coince à quel endroit maintenant?
> 
> (Pour l'instant c'est juste un probleme de syntaxe de cette ligne du script. rien ne dit que ca ne peut pas fonctionner!)


Ca coince sur le mot "PDF". J'ai essayé de le mettre en majuscule, en minuscule, avec le ., mais rien ne marche.


----------



## r e m y (19 Mai 2016)

Alors essaie en remettant la fin de ligne comme dans le script d'origine:
file format format PDF


----------



## julien3838 (19 Mai 2016)

r e m y a dit:


> Alors essaie en remettant la fin de ligne comme dans le script d'origine:
> file format format PDF


Toujours pas. Tant pis, je vais faire sans j'ai plus le temps de faire des tests. Merci quand meme


----------



## peyret (19 Mai 2016)

julien3838 a dit:


> Toujours pas. Tant pis, je vais faire sans j'ai plus le temps de faire des tests. Merci quand meme


ou imprimer / en  bas comme copie d'écran


----------



## Locke (19 Mai 2016)

Ca fera comme en réponse #3.


----------



## JacqR (19 Mai 2016)

Bonjour,

Voici un script qui fonctionne avec *Microsoft* *Excel 2016* (version 15.22).


```
set ces_fichiers to (choose file with multiple selections allowed without invisibles)
tell application "Microsoft Excel" --  fonctionne sous Excel 2016 (version 15.22)
    launch
    repeat with un_fichier in ces_fichiers
        set F to un_fichier as string
        if F ends with ".xls" or F ends with ".xlsx" then --traite seulement les fichiers avec les extensions " .xls(x)"
            if F ends with ".xls" then
                set fichier_PDF to (text 1 thru -4 of F) & "pdf" -- chemin du pdf
            else
                set fichier_PDF to (text 1 thru -5 of F) & "pdf" -- chemin du pdf
            end if
            alias fichier_PDF -- nécessaire sur Microsoft Office 2016 pour ne pas avoir d'erreur avec la commande 'save' (quand c'est un nouveau fichier)
            set wbk1 to open workbook workbook file name F
            save workbook as wbk1 filename fichier_PDF file format PDF file format with overwrite
            close wbk1 saving no
        end if
    end repeat
end tell
```

​Si c'est pour *Microsoft Excel 2011*, utilise ce script

```
set ces_fichiers to (choose file with multiple selections allowed without invisibles)
tell application "Microsoft Excel" --  fonctionne sous Excel  2011
    launch
    repeat with un_fichier in ces_fichiers
        set F to un_fichier as string
        if F ends with ".xls" or F ends with ".xlsx" then --traite seulement les fichiers avec les extensions " .xls(x)"
            if F ends with ".xls" then
                set fichier_PDF to (text 1 thru -4 of F) & "pdf" -- chemin du pdf
            else
                set fichier_PDF to (text 1 thru -5 of F) & "pdf" -- chemin du pdf
            end if
            open un_fichier
            save workbook as (active workbook) filename fichier_PDF file format PDF file format with overwrite
            close active workbook without saving
        end if
    end repeat
end tell
```


----------



## mikafletcher (19 Avril 2017)

Bonjour, pouvez-vous me dire comment mettre ce script en place ?


----------

