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

Export plusieurs plages en Pdf

  • Initiateur de la discussion Initiateur de la discussion Calvus
  • 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 !

Calvus

XLDnaute Barbatruc
Bonsoir le forum,

Je voudrais exporter 2 plages non contigues en pdf. La sélection se fait mais l'exportation en pdf comprend toute la plage, y compris celle non sélectionnée.

Y a t'il un moyen ? J'ai tenté Array, mais sans succès.

VB:
If [C83] <> "" Then
Range("B1:H56, B65:H120").Select
Else
Range("A1:H56").Select
End If



Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Range("I18").Select

Merci
 
Re : Export plusieurs plages en Pdf

Bonjour, Calvus 😀, le Forum,

Peut-être ainsi :

Code:
Option Explicit
Sub Pdf()
    Application.ScreenUpdating = False
    If [C83] <> "" Then
        Sheets.Add.Name = "pdf"
        Sheets("Feuil1").Range("B1:H56,B65:H120").Copy Destination:=Sheets("pdf").Range("A1")
        ' emplacement et nom adapter
        Sheets("pdf").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                                          "C:\Users\00\Downloads\Calvus.pdf", Quality:=xlQualityStandard, _
                                          IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
                                          False
        Application.DisplayAlerts = False
        Sheets("pdf").Delete
        Application.DisplayAlerts = True
    Else
        Range("A1:H56").Select
    End If
    Application.ScreenUpdating = True
End Sub

A bientôt 🙂
 
Re : Export plusieurs plages en Pdf

Bonjour 00, le forum,

Merci Gardienne de mes codes 🙂

J'avais bien pensé à créer une feuille temporaire, mais je voulais savoir si l'on pouvait faire autrement. On dirait que non.

Ceci étant, ton code fonctionne très bien, mais.... comment faire pour conserver les formats ?
Et indiquer le nombre de lignes pour avoir 2 pages Pdf identiques ? Il faudrait une dizaine de lignes vides sur la copie entre les 2 sélections.

Merci 🙂

A bientôt

Message modifié suite à une 1ère réponse envoyée sans bien réfléchir....
 
Dernière édition:
Re : Export plusieurs plages en Pdf

Re-bonjour,

... je voulais savoir si l'on pouvait faire autrement. On dirait que non.

Ceci étant, ton code bogue chez moi à la 3eme ligne :
Sheets("Feuil1").Range("B1:H56,B65:H120").Copy Destination:=Sheets("pdf").Range("A1")...

Peut-être est-il possible d'agir autrement mais... comment ? Je ne le sais 😕 pas.

Le couac serait-il dû au nom de l'onglet ("Feuil1") ?

Si tu souhaites éviter le passage par un onglet temporaire, reste à masquer les lignes et colonnes indésirables dans le PDF.

A bientôt 😀😀
 
Re : Export plusieurs plages en Pdf

Bonjour Calvus, 00

Pour ce genre de problème, le mieux serait de faire un test en copiant tes 2 plages sur une feuille et en mettant un saut de page (si j'ai bien compris).

Ensuite tu imprimes ta feuille en PDF.

PS: sinon masquer les lignes serait un test à faire comme l'a suggéré 00 🙂.
 
Re : Export plusieurs plages en Pdf

Re-bonjour, bonjour, Michel 😀,

... ton code fonctionne très bien, mais.... comment faire pour conserver les formats...

Ah, voilà qui est rassurant. Pour conserver les formats :

Code:
Option Explicit
Sub Pdf_v2_formats_conservés()
    Application.ScreenUpdating = False
    If [C83] <> "" Then
        Sheets.Add.Name = "pdf"
        Sheets("Feuil1").Range("B1:H56,B65:H120").Copy
        With Sheets("pdf").Range("A2")
            .PasteSpecial Paste:=xlPasteColumnWidths
            .PasteSpecial Paste:=xlPasteAll
        End With
        Application.CutCopyMode = False
        ' emplacement et nom adapter
        Sheets("pdf").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                                          "C:\Users\00\Downloads\Calvus.pdf", Quality:=xlQualityStandard, _
                                          IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
                                          False
        Application.DisplayAlerts = False
        Sheets("pdf").Delete
        Application.DisplayAlerts = True
    Else
        Range("A1:H56").Select
    End If
    Application.ScreenUpdating = True
End Sub

... indiquer le nombre de lignes pour avoir 2 pages Pdf identiques ? Il faudrait une dizaine de lignes vides sur la copie entre les 2 sélections...

Là, moi pas comprendre 😕 le besoin.

A bientôt 🙂🙂
 
Re : Export plusieurs plages en Pdf

Re

Pour les sauts de page, il faut aller dans le mode Affichage et on doit voir les sauts de pages. On peut aussi l'insérer avec un click droit en mode Mise en Page et aperçu des sauts de page et choisir Insérer un saut de page.

Sinon en macro, on peut insérer un saut de page avec le code:

Code:
 ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
 
Re : Export plusieurs plages en Pdf

Re,

Ben voilà qui est mieux 00 ! Il faut toujours attendre pour que tu sois efficace !! 😉😉😉

Bon, plus sérieusement, c'est mieux, mais toujours pas ça car les colonnes sont ajustées. J'envoie une copie de la feuille en question avec les bons formats.

Merci
 

Pièces jointes

Re : Export plusieurs plages en Pdf

Re,

Michel, j'ai adapté ton code mais ce n'est pas ça. Ou peut être ne sais je pas faire correctement.

Bon, j'ai réglé mon problème en faisant tout simplement Range("B1:H120").Select de mon 1er code. #1

tant pis pour celui là. Je verrai au prochain problème qui se posera.

Merci et bon we 🙂
 
Re : Export plusieurs plages en Pdf

Coucou Zèbre,

Ne t'embête pas. Comme je te l'ai dit, j'ai réglé le problème. Il faut simplement que je m'assure de ne rien écrire dans les lignes 57 à 63. Sinon ça fonctionne.

Garde de l'énergie pour ma prochaine question.... car mon problème de noms copiés n'est toujours pas résolu lui....

A bientôt 🙂🙂
 
Re : Export plusieurs plages en Pdf

Re-bonjour,

... Alors là, tu m'impressionnes ! ... Bug chez moi à l'avant dernière ligne...

😕🙁

Qu'est-ce qui t'impressionne ? Les rayures 😎 ?

"l'avant dernière ligne", chez moi = Application.ScreenUpdating = True

Peux-tu mettre celle-ci ("Application.CommandBars("Format Object").Visible = False) en commentaire ?

A bientôt 🙂🙂
 
- 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

  • Question Question
Microsoft 365 Problème macro
Réponses
4
Affichages
396
Réponses
10
Affichages
752
Réponses
3
Affichages
848
Réponses
3
Affichages
1 K
Réponses
6
Affichages
514
W
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…