Microsoft 365 Export automatique

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 !

klemasson

XLDnaute Nouveau
Bonsoir à tous,
J'ai actuellement un fichier Excel avec mes données pour la création de certificat et de l'autre mon document word avec ledit certificat.
Et ma question est : Est-ce que c'est possible de faire un export automatique en PDF depuis la liste Excel et que le fichier se renomme Certificat_BLSAED_Nom_Prénom ?
Pour l'instant je fais via un publipostage sur Word. Ca marche mais cela me prends beaucoup de temps et j'ai de plus en plus de certificat à faire.
Une info importante, je travaille sur Mac
Merci d'avance pour votre aide.
Belle soirée

PS : tout les nom dans le fichier Excel sont fictif
 

Pièces jointes

Bonjour klemasson, Phil69970,

Puisque le fichier Word existe autant s'en servir, la macro dans ThisWorkbook :
VB:
Private Sub Workbook_Open()
Dim Wapp As Object, lig&, Wdoc As Object, nomfich$
If MsgBox("Voulez-vous créer les fichiers pdf ?", vbYesNo) = vbNo Then Exit Sub
Application.ScreenUpdating = False
On Error Resume Next
Set Wapp = GetObject(, "Word.Application")
If Wapp Is Nothing Then Set Wapp = CreateObject("Word.Application")
On Error GoTo 0
Wapp.Visible = True
With [A1].CurrentRegion
    For lig = 2 To .Rows.Count
        Set Wdoc = Wapp.Documents.Open(ThisWorkbook.Path & Application.PathSeparator & "Certificat Word.docx") 'ouverture du document Word
        Wdoc.Bookmarks("Nom").Range.Text = Cells(lig, 1)
        Wdoc.Bookmarks("Prenom").Range.Text = Cells(lig, 2)
        Wdoc.Bookmarks("Naissance").Range.Text = Cells(lig, 3)
        Wdoc.Bookmarks("Date").Range.Text = Cells(lig, 4)
        Wdoc.Bookmarks("Formateur").Range.Text = Cells(lig, 5)
        nomfich = Replace(Wdoc.FullName, "Word.docx", Cells(lig, 1) & " " & Cells(lig, 2) & ".pdf")
        Wdoc.ExportAsFixedFormat OutputFileName:=nomfich, ExportFormat:=17 'wdExportFormatPDF
        Wdoc.Close False 'fermeture sans enregistrement
    Next lig
End With
Wapp.Quit
MsgBox lig - 2 & " Certificats PDF ont été créés..."
End Sub
Elle s'exécute automatiquement quand on ouvre le fichier Excel.

A+
 

Pièces jointes

Dernière édition:
Bon sur MAC CreateObject et GetObject ne fonctionnent pas, il faut travailler sur AppleScript...

J'ai donc demandé à ChatGPT d'adapter mon code à MAC 365, j'ai obtenu les codes ci-dessous.

Dans ThisWorkbook :
VB:
Private Sub Workbook_Open()
    Dim chemin As String, lig As Long, nomfich As String
    If MsgBox("Voulez-vous créer les fichiers PDF ?", vbYesNo) = vbNo Then Exit Sub
    Application.ScreenUpdating = False
    chemin = ThisWorkbook.Path & Application.PathSeparator
    With Range("A1").CurrentRegion
        For lig = 2 To .Rows.Count
            nomfich = chemin & Cells(lig, 1) & " " & Cells(lig, 2) & ".pdf"
            Call CreerPDFMac( _
                chemin & "Certificat Word.docx", _
                Cells(lig, 1).Value, _
                Cells(lig, 2).Value, _
                Cells(lig, 3).Value, _
                Cells(lig, 4).Value, _
                Cells(lig, 5).Value, _
                nomfich)
        Next lig
    End With
    MsgBox lig - 2 & " certificats PDF ont été créés."
End Sub
Dans Module1 :
VB:
Sub CreerPDFMac(modele As String, _
                Nom As String, _
                Prenom As String, _
                Naissance As String, _
                DateF As String, _
                Formateur As String, _
                pdfPath As String)

    Dim script As String

    script = _
    "tell application ""Microsoft Word""" & vbLf & _
    "activate" & vbLf & _
    "set docRef to open POSIX file """ & modele & """" & vbLf & _
    "set text of bookmark ""Nom"" of docRef to """ & Nom & """" & vbLf & _
    "set text of bookmark ""Prenom"" of docRef to """ & Prenom & """" & vbLf & _
    "set text of bookmark ""Naissance"" of docRef to """ & Naissance & """" & vbLf & _
    "set text of bookmark ""Date"" of docRef to """ & DateF & """" & vbLf & _
    "set text of bookmark ""Formateur"" of docRef to """ & Formateur & """" & vbLf & _
    "save as docRef file name POSIX file """ & pdfPath & """ file format format PDF" & vbLf & _
    "close docRef saving no" & vbLf & _
    "end tell"

    MacScript script

End Sub
Testez les fichiers joints (ils doivent être placés dans le même dossier) et dites-nous si le code fonctionne bien sur MAC.
 

Pièces jointes

Bon ben klemasson n'est peut-être pas vraiment satisfait de la solution de Phil69970 ni des autres vu qu'il à reposé la question sur un autre forum
Du coup je lui ait proposé une autre solution, même si on ne sais toujours pas ce qu'il va faire des PDF
 
Bon ben klemasson n'est peut-être pas vraiment satisfait de la solution de Phil69970 ni des autres vu qu'il à reposé la question sur un autre forum
Du coup je lui ait proposé une autre solution, même si on ne sais toujours pas ce qu'il va faire des PDF
Pour dire toute la vérité, ce n'est pas pour moi ce travail c'est pour mon frère et il m'a dit que la solution de Phil69970 lui convenait et finalement il m'a dit qu'il préférais quand même passer par Word et c'est pour ça que j'ai cherché une solution sur un forum Word.

Du coup, si je résume, le but est de généré les PDF avec le nom de chaque élèves afin qu'il puisse les envoyer grouper par mail à une seule personne. J'avais pensé également à une macro qui peut déjà préparer un envoi par mail. Cependant, mon frère utilise le webmail d'infomaniak et ça me paraissait un peu compliqué et s'il a plus que le mail à faire c'est déjà un gros gain de temps
 
Pour dire toute la vérité, ce n'est pas pour moi ce travail c'est pour mon frère et il m'a dit que la solution de Phil69970 lui convenait et finalement il m'a dit qu'il préférais quand même passer par Word et c'est pour ça que j'ai cherché une solution sur un forum Word.
Est-ce à dire que le Gillou veut ne pas utiliser Excel, mais qu'il veut remplir les certificats, les exporter en pdf, et les envoyer par mail, tout ça uniquement avec Word ?
 
- 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

Réponses
1
Affichages
117
Réponses
5
Affichages
124
  • Résolu(e)
Microsoft 365 transposer
Réponses
6
Affichages
250
Réponses
22
Affichages
1 K
  • Question Question
Microsoft 365 Liens hypertexte
Réponses
4
Affichages
378
Réponses
2
Affichages
745
Réponses
18
Affichages
1 K
Retour