Sortir un fichier pdf avec les données d'une ligne Excel

Bonsoir,

J'aurai souhaité pouvoir sortir un fichier pdf, à partir des données d'une ligne au choix de mon tableau de donnée excel.

Je m'explique :

Je dispose de donnée brut qui se situe dans le fichier excel " donnée", au début de chaque ligne j'aurai souhaité disposer d'un bouton "To PDF" qui en cliquant dessus me ressort un fichier pdf, avec toute mes données mis en forme selon une structure définie.

Par exemple en cliquant sur le "To pdf " de la ligne 1 du tableau excel

img1

Je ressort un pdf avec les données disposé ainsi :

img2

En réalité ça ressemble à du publipostage, mais le fichier ayant besoin d'être utilisé par plusieurs personne, c'est un peu compliquer de jouer avec deux fichier. On aurait besoin que tout se passe à partir du même fichier, ainsi on peut le transférer aisément à droite à gauche sans se soucier des sources.

Je pense que ça doit être possible avec une macro, mais je ne maîtrise pas du tout le VBA

Merci d'avance pour votre aide

Lord

8donnee.xlsx (12.85 Ko)

Bonsoir,

Tu as pris la peine de mettre une image du document que tu veux exporter en pdf. Tu l'ajoutes en feuille Excel à ton fichier, avec les indications concernant son remplissage, et on pourra te bâtir la procédure destinée à remplir le document à partir d'une ligne sélectionnée et à l'exporter...

Cordialement.

Voilà j'ai mis à jours le document, ci joint avec le fichier excel, en second onglet, j'ai réalisé la fiche technique.

J'ai introduit le numéro de la cellule, de ce que je souhaite qui apparaissent dans la case, pour l'exemple ou je clique sur le bouton de la ligne de n°IT : 1.

Merci d'avance pour votre aide

Lord

11donnee.xlsx (12.85 Ko)

A adapter selon souhaits spécifiques :

Sub ToPDF()
    Dim T(15), Lgn, Fich, n%, i%
    With ActiveCell
        If .Column = 1 And .Row > 1 Then
            n = .Row
            If MsgBox("Souhaitez-vous exporter la fiche n° " & .Offset(, 1) & " ?", _
             vbYesNo, "Confirmation") = vbNo Then Exit Sub
        Else
            Exit Sub
        End If
    End With
    Lgn = Array(2, 3, 4, 5, 6, 7, 10, 16, 18, 12, 15, 13, 21, 8, 20, 11)
    Fich = Split("B10 B13 B14 B15 B16 B17 A21 B23 B24 B25 B26 B27 A31 B33 B34 B35")
    With ActiveSheet
        For i = 0 To 15
            T(i) = .Cells(n, Lgn(i))
        Next i
    End With
    With Worksheets("Fiche")
        For i = 0 To 15
            .Range(Fich(i)) = T(i)
        Next i
        Application.ScreenUpdating = False
        .Visible = xlSheetVisible
        .ExportAsFixedFormat xlTypePDF, ThisWorkbook.Path & "\IT" & T(0) & ".pdf", _
         openafterpublish:=True
        For i = 0 To 15
            .Range(Fich(i)).MergeArea.ClearContents
        Next i
        .Visible = xlSheetHidden
    End With
End Sub

Celle-ci, après sélection cellule en A (marquée...), remplit la fiche, la démasque et l'exporte en pdf (enregistré dans le même dossier) et l'efface et la remasque. Le pdf créé s'affiche.

Cordialement.

ça fonctionne nickel , merci pour ton aide et pour le détail du code, ça me permet de voir le fonctionnement.

Encore merci

Lord

PS : Je passe le sujet en résolus

Rechercher des sujets similaires à "sortir fichier pdf donnees ligne"