Macro enregistrer en pdf [Résolu/Fermé]

Signaler
Messages postés
91
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
29 novembre 2018
-
Messages postés
91
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
29 novembre 2018
-
Bonjour,
Je cherche une macro qui me permet d'enregistrer chaque feuille dans plusieurs fichiers pdf (un fichier pdf par feuille) dont le nom du fichier pdf serait le nom de la feuille dans le classeur. Pour etre plus clair, quand j'appuye sur un bouton, chaque feuille s'enregistre dans plusieurs fichier pdf dans un dossier (toujours le même : mes documents) avec comme nom le nom de la feuille.
Si quelqu'un pourrait m'aider c'est pour mon stage, je galère un peu ...
merci

5 réponses

Messages postés
6868
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
7 août 2020
535
Bonjour,

Il suffit de se servir de l'enregistreur de macro et de procéder à l'enregistrement en PDF. Tu auras ton code, il te suffira de modifier les chemins et les noms pour chaque enregistrement.
Messages postés
91
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
29 novembre 2018
1
Je n'y arrive pas, ça me dit qu'il y a une erreur. Je suis un débutant en macro. Existe un code dejà généré ?
Messages postés
6868
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
7 août 2020
535
Y a qu'a demander:

Option Explicit
Dim nom, chemin  As String
Dim ctr
Private Sub CommandButton1_Click()
For ctr = 1 To Sheets.Count
   Sheets(ctr).Select
   nom = Sheets(ctr).Name 'parcourt les feuilles
    Save_pdf
 Next
End Sub
Private Sub Save_pdf()
chemin = "C:\Users\...\Documents\" 'chemin du dossier destination à adapter
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        chemin & "\" & nom & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
        MsgBox "Enregistrer" 'on peut supprimer
End Sub

Messages postés
91
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
29 novembre 2018
1
Désolé d'encore vous embêter mais lorsque que je lance la macro cela me met "Erreur d'exécution 1004 : Document non enregistré. Le document est peut-être ouvert ou une erreur s'est produite lors de l'enregistrement."
Je comprends pas car je suis obligé d'avoir le document ouvert si je veux lancer la macro pour l'enregistrer
Messages postés
6868
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
7 août 2020
535
D'où lances-tu ta macro?
Messages postés
91
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
29 novembre 2018
1
D'un bouton nommé "ENREGISTRER" créé sur la première feuille. J'ai changé le nom du bouton dans la macro. Elle se lance parfaitement mais ça affiche ça
Messages postés
6868
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
7 août 2020
535
J'ai essayer a partir d'un bouton sur la feuille, cela fonctionne.
Vérifier le chemin de l'enregistrement
Messages postés
91
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
29 novembre 2018
1
Faut-il que je nomme ma macro d'un nom spécifique ?
Car quand je fais afficher les macro après ça ne l'affiche plus dans la fenetre mais il faut que jetape son nom pour que ça m'affiche modifier, executer etc ...
Messages postés
91
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
29 novembre 2018
1
Et elle ne s'affiche pas à chaque fois que je met le code que vous m'aviez donné. Sinon tout si j'en refais une différentes elle s'affiche
Messages postés
91
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
29 novembre 2018
1
Le chemin d'enregistrement est bon
Messages postés
6868
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
7 août 2020
535
C'est un bouton formulaire, il faut faire un clic droit dessus, affecter une macro
Ensuite mettre ceci dans le module:


Option Explicit
Dim nom, chemin  As String
Dim ctr
Sub Bouton1_Clic()'adapter nom bouton
For ctr = 1 To Sheets.Count
   Sheets(ctr).Select
   nom = Sheets(ctr).Name 'parcourt les feuilles
    Save_pdf
 Next
End Sub
Private Sub Save_pdf()
chemin = "C:\Users\...\Documents\" 'chemin du dossier destination à adapter
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        chemin & "\" & nom & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
        MsgBox "Enregistrer" 'on peut supprimer
End Sub
Messages postés
91
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
29 novembre 2018
1
Encore désolé mais ça me met exactement le même message.
Le point positif est que ça règle les autres problèmes ....
Messages postés
91
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
29 novembre 2018
1
AAAAAAAAAAAH NON ! CA MARCHE !
Merci enormement à vous pour votre patience !