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

macro PDF (enregistrer sous) fonctionnelle à adapter pour 4 plages fixes de données

  • Initiateur de la discussion Initiateur de la discussion Ctrl-Alt-Suppr
  • 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 !

C

Ctrl-Alt-Suppr

Guest
Bonjour à tous.

Dans un seul et même onglet, j'ai 4 plages fixes de données (non voisines).
J'aimerai en 1 clic de bouton, imprimer ces plages en PDF.
L'idéal serait même que mon PDF fasse 4 pages, avec 1 page = 1 plage de données.

Après multiples recherches sur la toile, le code qui semble me correspondre le mieux est le suivant.

Étant débutant, QUI PEUT M'AIDER À ADAPTER LE CODE POUR TRANSFORMER
LA ZONE D'IMPRESSION «sélection active» EN 4 PLAGES IMPOSÉES ?


Mes plages figées étant : P3:U56 —— AA3:AF56 —— AL3:AQ56 —— AW3:BB56

Code:
Sub CommandButton2_Click()
Dim ws As Worksheet
Dim strPath As String
Dim myFile As Variant
Dim strFile As String
On Error GoTo errHandler

Set ws = ActiveSheet
strFile = Replace(Replace(ws.Name, " ", ""), ".", "_") _
            & "  " _
            & Format(Now(), "yyyy.mm.dd\  hh'mm ") _
            & ".pdf"
strFile = ThisWorkbook.Path & "\" & strFile

myFile = Application.GetSaveAsFilename _
    (InitialFileName:=strFile, _
        FileFilter:="PDF Files (*.pdf), *.pdf", _
        Title:="Select Folder and FileName to save")

If myFile <> "False" Then
    ws.ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=myFile, _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=True

    MsgBox "fichier PDF créé"
End If

exitHandler:
    Exit Sub
errHandler:
    MsgBox "Could not create PDF file"
    Resume exitHandler
End Sub
 
Re : macro PDF (enregistrer sous) fonctionnelle à adapter pour 4 plages fixes de donn

Salut, l'enregistreur de macros est là pour ça, bref tu pourrais obtenir qqch comme
Code:
    Application.Goto Reference:="Zone"
    ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
 
Re : macro PDF (enregistrer sous) fonctionnelle à adapter pour 4 plages fixes de donn

Comme déjà sous-entendu dans un autre sujet, quand on n'est pas du tout programmeur, la logique du code n'est pas évidente ; et par exemple fusionner range (1) + print (1) puis range (2) + print (2) ... etc. apparaît comme infaisable à mon niveau ... d'où ma venue sur un forum tel que le votre.

D'ailleurs l'enregistreur de macros me donne ceci pour la première plage :
Code:
Sub Macro1()
    Range("P3:U56").Select
    ActiveSheet.PageSetup.PrintArea = "$P$3:$U$56"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
End Sub

Hors ta réponse fait appel à Application.Goto ou encore ExecuteExcel4Macro.
Un complément de réponse serait le bienvenue ^^
Par avance, merci.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…