Erreur 1004 sur une macro pour exporter chaque onglet en PDF

Bonjour,

je souhaite sauvegarder en PDF chacun des onglets de mon fichier excel. J'ai cherché pendant longtemps une macro et j'ai trouvé la suivante:

Sub ExportToPDFs()

' PDF Export Macro

' Change C:\Exports\ to your folder path where you need the diles saved

' Save Each Worksheet to a separate PDF file.

Dim ws As Worksheet

For Each ws In Worksheets

ws.Select

nm = ws.Name

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _

Filename:="C:\Exports\" & nm & ".pdf", _

Quality:=xlQualityStandard, IncludeDocProperties:=True, _

IgnorePrintAreas:=False, OpenAfterPublish:=False

Next ws

End Sub

Néanmoins sur mon Excel Mac 2016, ce code me donne une "erreur à l'impression" et le message suivant: Une erreur s'est produite '1004' lors de l'exécution:

Erreur défini par l'application ou l'objet

(mon excel est en Español, j'ai traduit le message d'erreur.)

Auriez vous une idée de ce qui buggue et comment le corriger?

Merci d'avance pour vos précieux conseils.

Cordialement,

Aurore

Bonjour Aurore le forum

Normal le chemin sur un mac c'est de mémoire HD: etc etc et non C:\ etc etc

a+

Papou

Bonjour Paritec!

J'ai remplacé le chemin par cette ligne de code, pour m éviter des problèmes... et maintenant j ai une erreur 400. (macro for dummies...). Aurais tu une nouvelle idée du problème?

Filename:=ActiveWorkbook.Path & nm & ".pdf", _

Merci d'avance!!

Aurore

Bonjour Matinée le forum

si le chemin c'est bien ce que je me rappelle sur les mac, ce serait plutôt

activeworkbook.path &":" &nm &.pdf

a+

Papou

Bonjour Paritec et à tous

je vogue d'erreur en erreur, et là je viens de faire de plus amples recherches sur Internet et j'ai trouvé un anglo saxon qui dit que:

"In Excel 2011 we needed AppleScript to save as PDF, we not need that in Excel 2016 anymore.

But there is still work to do in 2016, the two examples below are working on this moment, will update the code if there are changes"

Sur excel 2011 il fallait un applescript, ce qui n'est plus le cas en Excel 2016. Mais que apparemment c'est pas 100% non plus la syntaxe de vba windows. En lisant cela c'était un peu l'épiphanie, car j'avais fait un export a PDF qui fonctionnait sur 2011 et effectivement ne fonctionne plus sur 2016 for Mac.

Cependant j'ai récupéré le code qu'il propose (voir ci-dessous) et je ne comprends pas comment je peux modifier le répertoire d'accès qu'il propose au répertoire du fichier Excel.

Sauriez vous m'aider?

Merci d'avance!!

Sub PublishEachWorkSheetToPDF()

'Ron de Bruin : 19-Nov-2016

'Test macro to publish each worksheet to pdf with ExportAsFixedFormat

'It will create a new folder for you with the files

Dim Fstr As String

Dim FolderName As String

Dim Folderstring As String

Dim sh As Worksheet

Dim FilePathName As String

Dim TestStr As String

Dim ASheet As Worksheet

With Application

.ScreenUpdating = False

.EnableEvents = False

End With

'Remember the active worksheet

Set ASheet = ActiveSheet

'Name of the Root folder in the Office folder, and create the folder

FolderName = "PDFFolder"

Folderstring = CreateFolderinMacOffice2016(NameFolder:=FolderName)

'Create folder in the Root folder with the name of the ActiveWorkbook

Fstr = Mid(ActiveWorkbook.Name, 1, InStrRev(ActiveWorkbook.Name, ".", , 1) - 1) & Format(Now, " dd-mmm-yyyy hh-mm-ss")

On Error Resume Next

TestStr = Dir(Folderstring & "/" & Fstr, vbDirectory)

On Error GoTo 0

If TestStr = vbNullString Then MkDir Folderstring & "/" & Fstr

'Loop through all worksheets

For Each sh In ActiveWorkbook.Worksheets

'If the sheet is visible then publish it to PDF

If sh.Visible = -1 Then

sh.Select

'My example sheet is landscape, I must attach this line

'for making the PDF also landscape, seems to default to

'xlPortait the first time you run the code

ActiveSheet.PageSetup.Orientation = xlLandscape

'File name is the sheet name and a date/time stamp

FileName = sh.Name & " " & Format(Now, "dd-mmm-yyyy hh-mm-ss") & ".pdf"

'Publish the Worksheet to pdf

FilePathName = Folderstring & "/" & Fstr & Application.PathSeparator & FileName

'expression A variable that represents a Workbook, Sheet, Chart, or Range object.

'Not working if you change activeworkbook, always save the activesheet

'Also the parameters are not working like in Windows

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _

FilePathName, Quality:=xlQualityStandard, _

IncludeDocProperties:=True, IgnorePrintAreas:=False

End If

Next sh

ASheet.Select

MsgBox "You find the PDF files in this location : " & Folderstring & "/" & Fstr

With Application

.ScreenUpdating = True

.EnableEvents = True

End With

End Sub

Bonjour Matinéé le forum

il faut que tu fasses une macro avec l'enregistreur de macro et ensuite que tu me l'envoies je te la modifierai.

tu mets en route l'enregistreur de macro, ensuite tu choisis ta feuille tu cliques enregistrer sous, là tu choisis l'extension .pdf et tu cliques enregistrer.

tu fermes l'enregistreur de macro et tu la copies et tu l'envoies

a+

Papou

Bonjour à tous et

Merci pour ton aide!!

Je viens de réaliser ce que tu me demandes, et c'est surprenant parce que lorsque je veux exécuter la macro d'enregistrer en PDF Excel me dit qu'il y a une erreur de Syntaxe!!! Et étrangement sur le chemin - que je n'ai pas écrit, l'enregistrement de la macro donne ce chemin.

Je l ai fait 2 fois et je t envoie en PJ le résultat de l'excel. Les 2 macros me donnent la même erreur de syntaxe.

Merci d'avance.

Pour moi le mystère s'épaissit... comment une macro enregistrée peut avoir une syntaxe incorrecte? L'outil ne fonctionne pas vraiment?

Bonne journée!

Aurore

19libro2.xlsm (27.93 Ko)

Bonjour Matinée le forum

ActiveWorkbook.SaveAs Filename:="/Users/EspacioVirtual/Desktop/Libro1.pdf",   FileFormat:=xlPDF

alors là moi je ne comprends plus!!!!

si c'était un PC ton chemin ce serait des "\" et non des "/"

mais toi tu as un mac et des "/" alors si un utilisateur de Mac peut me renseigner je reviens vers toi

a+

Papou

Ohlalalalaa! Les malheurs d'excel 2016...

Bah je ne sais pas quoi te dire, j'espère que quelqu'un saura nous aider

Tiens moi au courant

Merci!!!

Aurore

Bonjour Aurore le forum,

bon alors voilà en fichier joint ton fichier, avec une macro qui devrait faire l'affaire, en reprenant la schématique de ton enregistreur qui ne peut pas être mauvaise.

Merci de mettre ton fichier sur ton bureau, ou dans un dossier, mais pas de l'ouvrir en temporaire.

donc tu enregistres le fichier sur ton Mac et tu l'ouvres seulement après et là tu vas lire et tester STP et tu me rediras.

pour le moment j'ai pas géré la suppression des shapes mais on verra après si cela marche.

je suis impatient de ta réponse.

bisous a+

Papou

30matinee-v1.xlsm (20.33 Ko)

Bonjour Patrick et le forum...

le verdict est tombé: Excel 2016 n'aime pas le chemin....

Je t'envoie les copies d'écran de l'erreur qui apparait, apparemment c'est directement lié au chemin. J'ai pourtant bien sauvegardé le fichier d'abord en Download, et ensuite sur le bureau. Je pense qu'on y presque,...

Que penses tu que ce soit?

J'espère que ton oeil aguerri trouvera l'erreur.

Merci pour ton aide précieuse.

A très bientôt!

Aurore

captura de pantalla 2017 03 22 a la s 07 58 42 captura de pantalla 2017 03 22 a la s 07 58 51 captura de pantalla 2017 03 22 a la s 07 59 16

Re Matinée le forum

allez encore un test pour rire

a+

Papou

10matinee-v2.xlsm (20.38 Ko)

Patrick et forum bonjour,

Ben je ne sais plus si rire ou pleurer...

Mais les chemins de Excel 2016 sont impénétrables.

Je t envoie les 2 copies d'écran de ce grand mystère.

A très bientôt j espère qu'on trouvera un solution à ce feuilleton.

Aurore

captura de pantalla 2017 03 27 a la s 23 11 43 captura de pantalla 2017 03 27 a la s 23 12 14

Bonjour Matinée le forum

bah oui le problème majeur pour moi est que je n'ai pas excel sur mac, et que je n'ai pas excel 2016 !!

mais bon si j'avais accès à un mac j'aurais déjà trouvé la solution depuis longtemps mais ce n'est pas le cas.

J'ai interrogé un ami qui a un mac mais hélas il n'as pas excel !!!

bref je cherche et je trouverai

a+

Papou

Hello Patrick,

et si on fait un Teamviewer ou un truc du genre?

Ca pourrait peut être nous aider plus facilement...

Aurore

Bonjour Patrick,

je suis en train d'essayer de faire un export d onglet à PDF sur un Excel 2016 WINDOWS (bah oui, j'essaie par tous les moyens), et là c'est la loose complète:

la macro ne me donne pas d'erreur, mais elle ne me garde pas le PDF non plus

Je t'envoie cet autre fichier.

Tu crois que le pb c'est moi ou c'est Excel 2016????

Merci!

A bientôt

Aurore

9test1.xlsm (15.59 Ko)

Bonjour Matinée le forum

je vais regarder ton fichier cet après midi

pour le est-ce moi ou excel ??? là je ne peux pas te dire

a+

Papou

Bonjour Matinée le forum

ton fichier en retour avec la macro modifiée et qui fonctionne parfaitement maintenant

tu avais fait une petite erreur

a+

Papou

32matinee-v3.xlsm (15.68 Ko)

Merci!! c'est génial.

Tu n'as pas de nouvelles pour mon autre Souci macro d'Excel 2016 et Mac???

Bonne journée

Aurore

Bonsoir Matinée

Non je n'ai hélas pas encore pu faire de test sur un mac

Mais je ne désespère pas

A plus

Papou

Rechercher des sujets similaires à "erreur 1004 macro exporter chaque onglet pdf"