Créer plusieurs PDF à partir d'un état Access

Fermé
Jennib370 Messages postés 51 Date d'inscription mardi 27 décembre 2011 Statut Membre Dernière intervention 31 mars 2022 - 22 juin 2021 à 19:49
Jennib370 Messages postés 51 Date d'inscription mardi 27 décembre 2011 Statut Membre Dernière intervention 31 mars 2022 - 6 juil. 2021 à 16:45
Bonjour,
J'ai une table T_Personnel avec un champ "ID" et un champ "Votre nom" qui me sert pour sortir un état E_Certificat qui énumère 30 certificats (1 page par personne mais dans le même état), j'aimerais pouvoir les imprimer PDF mais séparément. Est-ce que c'est possible?
Merci!
A voir également:

3 réponses

yg_be Messages postés 23329 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 novembre 2024 Ambassadeur 1 551
22 juin 2021 à 20:25
bonjour,
cela me semble possible, peut-être en ouvrant l'état dans une boucle, chaque fois pour une seule personne ou un seul certificat.
0
Jennib370 Messages postés 51 Date d'inscription mardi 27 décembre 2011 Statut Membre Dernière intervention 31 mars 2022 1
22 juin 2021 à 21:19
Oui effectivement si je le fait 1 à la fois, ça fonctionne, mais je me demandais si c'était possible en une étape.
Merci!
0
yg_be Messages postés 23329 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 novembre 2024 1 551
22 juin 2021 à 21:26
"une étape", moi je programmerais une boucle en VBA.
je ne vois pas trop, autrement, comment imprimer chaque page séparément (vers un autre fichier PDF).
0
Jennib370 Messages postés 51 Date d'inscription mardi 27 décembre 2011 Statut Membre Dernière intervention 31 mars 2022 1 > yg_be Messages postés 23329 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 novembre 2024
23 juin 2021 à 17:22
J'ai trouvé ceci, mais comme je ne suis pas très bonne dans le VBA, la ligne 20-21-22 est en rouge donc il y a quelque chose qui ne fonctionne pas et je ne sais pas quoi...

Sub CreerFichesInterlocuteurs()
    Dim strFichier As String
    Dim strFichierPDF As String
    Dim strEtat As String
    Dim strFiltre As String
    Dim rst As dao.Recordset
    
    ' Nom de l'état à imprimer
    strEtat = "E_Astuces Outlook"
    
    ' Nom de base du fichier PDF à créer
    strFichier = DossierSpecial(Bureau) & "TestInterlocuteur {0} - {1} {2}.pdf"
    
    ' Ouvrir la liste des personnes
    Set rst = CurrentDb.OpenRecordset("T_Astuces Outlook", dbOpenSnapshot)
    
    ' Parcourir toute la liste
    While Not rst.EOF
        ' Le nom du fichier varie en fonction de la personne
        strFichierPDF = StringFormat(strFichier, _
            Format(rst("id"), "000"), _
            rst ("Votre nom")
            
        ' Construire le filtre
        strFiltre = "[ID] = " & rst("ID")
            
        ' Imprimer l'état en le filtrant sur la personne concernée
        PrintAsPDF strFichierPDF, strEtat, strFiltre
            
        ' Personne suivante
        rst.MoveNext
    Wend
    
    ' Terminé !
    rst.Close
    Set rst = Nothing
    MsgBox "Opération terminée !", vbInformation
End Sub
End Sub  
0
yg_be Messages postés 23329 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 novembre 2024 1 551 > Jennib370 Messages postés 51 Date d'inscription mardi 27 décembre 2011 Statut Membre Dernière intervention 31 mars 2022
23 juin 2021 à 17:40
de toute évidence, il manque une parenthèse.
je ne connais pas stringformat, je suppose qu'il faut ajouter une parenthèse fermante en fin de ligne 22.
sinon, peut-être:
strFichierPDF = DossierSpecial(Bureau) & "TestInterlocuteur " _
    & Format(rst("id"), "000") & " - " & rst ("Votre nom") & ".pdf"
0
Jennib370 Messages postés 51 Date d'inscription mardi 27 décembre 2011 Statut Membre Dernière intervention 31 mars 2022 1
6 juil. 2021 à 16:45
Ça ne fonctionne pas, mais merci quand même :)
0