Macro copie classeur excel
tofwolf
Messages postés
3
Statut
Membre
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'aimerai une macro qui, à chaque sauvegarde de mon classeur, crée une copie de ce classeur dans un autre répertoire au format PDF.
Est ce possible ? Pouvez vous m'aider ?
Merci
Christophe
J'aimerai une macro qui, à chaque sauvegarde de mon classeur, crée une copie de ce classeur dans un autre répertoire au format PDF.
Est ce possible ? Pouvez vous m'aider ?
Merci
Christophe
9 réponses
-
Bonjour,
Code à placer dans l'objet thisWorkbook de ton éditeur VBA.
Private Sub Workbook_AfterSave(ByVal Success As Boolean) Dim RepToSave As String Dim ceClasseur As Workbook Set ceClasseur = ThisWorkbook RepToSave = "c:\TEMP\" ThisWorkbook.SaveCopyAs RepToSave & ceClasseur.Name End Sub
-
-
Tu as changé la variable RepToSave ?
Par contre je viens de voir que tu voulais en PDF ....
J'avais mal lu...
Le code ci-dessous exportera en PDF la feuille active du classeur lorsque tu cliqueras sur enregistrerPrivate Sub Workbook_AfterSave(ByVal Success As Boolean) Dim RepToSave As String RepToSave = "c:\TEMP" 'sauvegarde de la feuille active en PDF Call PDFActiveSheet(RepToSave) End Sub Sub PDFActiveSheet(RepToSave As String) Dim ws As Worksheet Dim strPath As String Dim myFile As Variant Dim strFile As String On Error GoTo errHandler Set ws = ActiveSheet 'enter name and select folder for file ' start in current workbook folder strFile = Replace(Replace(ws.Name, " ", ""), ".", "_") _ & "_" _ & Format(Now(), "yyyymmdd\_hhmm") _ & ".pdf" strFile = RepToSave & "\" & strFile myFile = strFile If myFile <> "False" Then ws.ExportAsFixedFormat _ Type:=xlTypePDF, _ Filename:=myFile, _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=False MsgBox "PDF file has been created." End If exitHandler: Exit Sub errHandler: MsgBox "Could not create PDF file" Resume exitHandler End Sub
-
-
Je n'arrive pas à lire les réponses; il n'y a que le début de la réponse qui apparait
-
Et là tu peux tout lire ?
Private Sub Workbook_AfterSave(ByVal Success As Boolean) Dim RepToSave As String RepToSave = "c:\TEMP" 'sauvegarde de la feuille active en PDF Call PDFActiveSheet(RepToSave) End Sub Sub PDFActiveSheet(RepToSave As String) Dim ws As Worksheet Dim strPath As String Dim myFile As Variant Dim strFile As String On Error GoTo errHandler Set ws = ActiveSheet 'enter name and select folder for file ' start in current workbook folder strFile = Replace(Replace(ws.Name, " ", ""), ".", "_") _ & "_" _ & Format(Now(), "yyyymmdd\_hhmm") _ & ".pdf" strFile = RepToSave & "\" & strFile myFile = strFile If myFile <> "False" Then ws.ExportAsFixedFormat _ Type:=xlTypePDF, _ Filename:=myFile, _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=False MsgBox "PDF file has been created." End If exitHandler: Exit Sub errHandler: MsgBox "Could not create PDF file" Resume exitHandler End Sub
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
J'ai essayé ta solution, cela ne fait rien; aucun fichier ne se créé dans le rep c:\temp. Dans VBA quand je saisi ta macro il le met dans general et non dans workbook -
Je me mets dans workbook mais à partir du moment où je saise la première ligne cela change et ça se met dans général
-
J'ai répondu à cette même question il me semble postée deux fois :
https://forums.commentcamarche.net/forum/affich-31407537-macro-pour-copie-du-classeur-en-fichier-pdf -
-
J'ai trouvé : dans ma version j'ai workbook_BeforeSave.
Par contre il me met erreur de compil aprés le Le PDFActiveSheet
le débogeur me met membre de méthode ou de données introuvable et me surligne ".ExportAsFixedFormat"
