Avec une macro envoyer 2 feuilles Excel via Outlook

Bonjour à tous
J’ai besoin d’un coup de pouce!
En pièce jointe j’ai une macro qui fonctionne très bien, et elle envoie aussi en pièce jointe le contenu de ma 1ère feuille/onglet via Outlook et qui la transforme avant en PDF.
La macro reprend aussi le contenu de la feuille.

J’aimerais qu’elle m’envoie maintenant en pièce jointe aussi la 2ème feuille/Onglet, mais que cela fasse un seul fichier PDF en fichier joint sur Outlook.
Le premier onglet principal s’appelle “Ordre de mission”
et le deuxième onglet s’appelle “Destination et distance Km”
Bien sûr sans toucher au corps du macro.
Je ne sais pas si c’est possible, si quelqu’un peut me m’aider merci par avance.
Classeur1.xlsm (71,7 Ko)

Bonjour

Ci-joint ma proposition
Un onglet rajouté « pdf » qui rassemble les 2 onglets à transmettre
Dans ta macro en tout début l’exécution de la procédure qui réalise cet onglet (macro « pdf »)
Puis utilisation de celui-ci pour la constitution et l’envoi de ce fichier « PDF »
Testes et dis moi

Classeur1.xlsm (76,9 Ko)

Bonjour FFO,
Merci pour votre réponse, mais hélas ça ne va, ça décale tous mes tableaux.
Mon 1er onglet est un tableau spécifique, avec des cellules de différentes largeurs et mon deuxième onglet et aussi un tableau spécifique avec beaucoup plus de colonne et des cellules de différentes largeurs et complètement différents que mon premier onglet.
Donc ça décale tout et j’ai qu’une partie du deuxième onglet, 2 colonnes.

Il faudrait peut-être me fournir le fichier tel qu’il doit être utilisé pour l’envoi
Je peux difficilement te proposer une solution si je n’ai pas le contexte réel qui doit en être la base
De toute façon quelque soit le traitement les difficultés de mises en forme dans le fichier pdf resteront les mêmes ils sont directement liés à la source utilisée des différents onglets concernés
Transmets moi un exemplaire conforme pour en retour te proposer la solution la mieux adaptée
Pas d’autre choix

Je comprend, voici une partie du fichier
Ordre de mission2.xlsm (127,8 Ko)

il faut encore modifier les plages …

Sheets("Ordre de mission").PageSetup.PrintArea = "A1:Z100" 'modifier la plage !!!!
     Sheets("Destination et distance Km").PageSetup.PrintArea = "A1:DD1000" 'modifier la plage !!!!!

     Sheets(Array("Ordre de mission", "Destination et distance Km")).Select
     ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, OpenAfterPublish:=True

J’évolue avec le temps petit à petit mon petit logiciel et j’arrive bientôt à la fin.
Pour les macros je suis plus que novice.
J’ai essayé de mettre votre code mais ça me met un pdf de 12 pages avec le deuxième onglet en minuscule tout à fait en haut à gauche d’une page.
je l’ai peut-être mal inséré votre code dans mon macro

Ci-joint ton dernier fichier adapté
La macro « pdf » regroupe les données des 2 onglets (« Ordre de mission » et « Destination et distance Km ») dans l’onglet « pdf »
Cet onglet a été adapté au niveau de son format pour permettre un affichage non morcelé des données qui lui ont été intégrées dans le fichier pdf réalisé à son image
Pour cela il a été mis en mode « Paysage » et réduit de 50%
Sa restitution dans le fichier pdf de sorti est réduite en conséquence mais il suffit de grossir l’affichage dans ce fichier pour obtenir un résultat tout à fait correct

Fais des essais et dis moi

Ordre de mission2.xlsm (135,5 Ko)

1 « J'aime »

j’avais indiqué qu’on devait changer les plages :innocent:

Sub Testing()
     xFolder = ThisWorkbook.Path & "\" & "testingtesting.pdf"
     With Sheets("Ordre de mission").PageSetup
          .PrintArea = "A1:F44"             'modifier la plage !!!!
          .Zoom = False
          .FitToPagesWide = 1
          .FitToPagesTall = 1
     End With

     With Sheets("Destination et distance Km").PageSetup
          .PrintArea = "A1:O55"              'modifier la plage !!!!!
          .Zoom = False
          .FitToPagesWide = 1
          .FitToPagesTall = 1
     End With

     Sheets(Array("Ordre de mission", "Destination et distance Km")).Select
     ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, OpenAfterPublish:=True

End Sub

testingtesting.pdf (148,7 Ko)

1 « J'aime »

Merci à toi FFO pour ton aide mais je préfère le code à Cow18, car il n’y a pas besoins d’ajouter un onglet.

Oui tu as raison avec les plages changer c’est beaucoup mieux.
je te remercie encore une autre fois pour ton aide !!!
:+1: :smiley:

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.