Enregistrement automatique en PDF, VBA

  • Initiateur de la discussion Initiateur de la discussion Tophe2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Tophe2

XLDnaute Impliqué
Bonjour le Forum,

J’essaie de faire un publipostage d'excel à excel, j'ai trouvé ce fichier joint sur le forum, le principe convient à ma situation cependant j'aimerai enregistrer le fichier créé dans un dossier sur le bureau : C:\Users\Christophe\Desktop et que le nom du fichier soit celui de la cellule B3 et B4 de l'onglet "Publipostage" afin que les enregistrements puissent se faire automatiquement et au fur et à mesure sans intervention de ma part.

merci pour votre aide
Bonne Journée
Christophe.
 

Pièces jointes

Re : Enregistrement automatique en PDF, VBA

Bonjour Christophe

afin que les enregistrements puissent se faire automatiquement et au fur et à mesure sans intervention de ma part.

C'est qui qui changent les noms dans la feuille "Publipostage" ?? 😕




Dans la feuille, crée une liste déroulante en B2 (Onglet Données > Validation des données). Pour enregister au format PDF

Code:
'A INSERER DANS LE MODULE DE LA FEUILLE PUBLIPOSTAGE
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error Resume Next
Application.DisplayAlerts = False
With Sheets("Données").Range("e2:e50")
Set cel = .Find(Range("b3"), , xlValues)
If Not cel Is Nothing Then
Range("b2") = cel.Offset(0, -1)
Range("b4") = cel.Offset(0, 1)
Range("b5") = cel.Offset(0, -2)

Range("b7") = cel.Offset(0, -4)
Range("b8") = cel.Offset(0, -3)
Range("b9") = "C-0" & cel.Offset(0, 0).Row
End If
End With
If Range("b2") = "" Then Range("b2:b9").ClearContents
Application.EnableEvents = True
End Sub


Sub enrg_pdf()
Dim Chemin$, Nom$

Chemin = "C:\Users\Christophe\Desktop\Publipostage\"
Nom = Sheets("Publipostage").Range("b3") & " " & Sheets("Publipostage").Range("b4")

Sheets("Publipostage").Activate

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    Chemin & Nom & ".pdf", Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    From:=1, To:=1, OpenAfterPublish:=False
End Sub


A+ 😎
 
Dernière édition:
Re : Enregistrement automatique en PDF, VBA

Bonjour Lone-wolf,

je n'avais pas vu ta réponse, tu demandes : qui change la feuille publipostage ? il y aura une liste de noms avec les éléments qu'il faut pour effectuer le publipostage.

concernant ta proposition peux tu me dire comment l'insérer dans le code présent car ce que j'ai fait ne fait pas l'enregistrement en PDF....

Merci
Bonne Journée
Christophe.
 
Re : Enregistrement automatique en PDF, VBA

Re Lone-Wolf,

Je n'ai pas fait le menu déroulant en B2 de la feuille publipostage car je n'y arrive pas en faisant référence à une autre feuille je n'ai peut être pas compris ce qu'il fallait faire et pourquoi !! si tu peux m'expliquer ?

cependant j'ai adapté ton code avec celui Papou-net et ça à l'aire de fonctionner !! merci

Bonne Journée
Christophe.
 
Re : Enregistrement automatique en PDF, VBA

Re,

tu as bien l'onglet "Données" non? Clique dessus, tu as "Validation des données", clique à nouveau. Dans la liste déroulante, choisi Liste. Réduit la fenêtre en cliquant sur le bouton bleu à droite. Ensuite tu sélectionne la feuille Données puis les noms. Avec la liste déroulante, ça t'évite de taper le nom à chaque fois.


A+ 😎
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Réponses
2
Affichages
496
Retour