Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Impression pdf multiple et envoie par mails

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 !

auverland

XLDnaute Occasionnel
Bonjour à tous,
J'aimerais imprimer dans un seul fichier pdf tous mes formulaires suivant ma sélection colonne G de la feuille "Base"

La cellule I2 de devis modifie mes formulaires et mes fiches

Ce que j'aurais aimer c'est imprimer pour chaque sélection le devis et à la suite la fiche et ce pour toutes les lignes sélectionnées.
Apres l'idéal c'est l'envois par mails suivant les tableaux de la feuille mails diffusion
 

Pièces jointes

Bonjour auverland, kiki29, le forum,
J'arrive a faire un pdf par formulaire mais pas fichier pdf global
Eh bien montrez-nous déjà ce que vous faites avec un seul formulaire.

En effet ce n'est pas très clair : il semble que vous voulez imprimer en même temps le devis et la fiche.

Quel est l'intérêt puisque les données des feuilles Devis et Fiche sont les mêmes ?

Bonne journée.
 
Re,

Voyez le fichier joint, les feuilles "Devis" et "Stockage" et les macros des 3 boutons :
Code:
Sub Stockage()
If IsError([B12]) Then Exit Sub
Dim F As Worksheet, derlig&
Set F = Feuil3 'CodeName feuille Devis
With Feuil4 'CodeName feuille Stockage
    If .FilterMode Then .ShowAllData 'si la feuille est filtrée
    derlig = .Cells(.Rows.Count, 3).End(xlUp).Row
    If derlig = 1 Then
        derlig = -3
    Else
        .HPageBreaks.Add Before:=.Rows(derlig + 4) 'saut de ligne
    End If
    If IsNumeric(Application.Match(F.[C15], .[C:C], 0)) Then _
        If MsgBox("le nom '" & F.[C15] & "' est déjà stocké, voulez-vous continuer ?", 52) = 7 Then Exit Sub
    F.[A1:D26].Copy .Cells(derlig + 4, 1) 'pour copier les formats
    .Cells(derlig + 4, 1).Resize(26, 4) = F.[A1:D26].Value 'copie les valeurs
    .PageSetup.PrintArea = "$A$1:$D$" & derlig + 29 'zone d'impression
    '.Activate 'facultatif
End With
End Sub

Sub PDF()
Dim nomfich$
nomfich = ThisWorkbook.Path & "\Devis " & Format(Now, "yyyy-mm-dd hh.mm.ss") 'à adapter
With Feuil4 'CodeName feuille Stockage
    If Application.CountA(.[B:B]) Then .ExportAsFixedFormat xlTypePDF, nomfich, Quality:=xlQualityStandard
End With
End Sub

Sub RAZ()
Dim o As Object
Application.ScreenUpdating = False
With Feuil4 'CodeName feuille Stockage
    For Each o In .DrawingObjects
        If o.TopLeftCell.Column = 1 Then o.Delete
    Next
    .[A:D].Clear
    .PageSetup.PrintArea = "$A:$D"
End With
End Sub
Nota : j'ai supprimé les colonnes E et F car les cellules fusionnées ne permettaient pas d'afficher le renvoi à la ligne en D19.

A+
 

Pièces jointes

- 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
15
Affichages
1 K
Compte Supprimé 979
C
Réponses
0
Affichages
458
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…