> Tous les forums > Forum Bureautique
 VBA envoi de mail PDF depuis Excel2019Sujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
gibi74
  Posté le 16/06/2021 @ 18:41 
Aller en bas de la page 
Petit astucien

Bonjour,

j'ai réalisé un petit logiciel de facturation et je veux pouvoir envoyer les factures (1 par 1) par mail.

j'ai le code suivant activé par un bouton:

Sub envoi()

Dim messagerie As Object

Dim email As Object

Dim nompdf As String

On Error GoTo erreur

Destinataire = ThisWorkbook.Sheets("FACMAIL").Range("F12") 'adresse mail du destinataire

Sujet = "Envoi Facture"

Application.DisplayAlerts = False

nompdf = Environ("Temp") & "\" & "FACTMAIL" 'feuille "facture" à envoyer en PDF dans "Temp"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nompdf & ".pdf"

Set messagerie = CreateObject("Outlook.Application")

Set email = messagerie.CreateItem(0)

With email

.to = Destinataire

.Subject = Sujet

.body = "Envoi de facture"

.ReadReceiptRequested = True

.Attachments.Add nompdf & ".pdf"

.send

End With

Set email = Nothing

Set messagerie = Nothing

Kill Environ("Temp") & "\" & "FACTMAIL" & ".pdf"

Sheets("FACMAIL").Select

ActiveWindow.SelectedSheets.Delete

Application.ScreenUpdating = True

Exit Sub

erreur:

MsgBox "Erreur : " & Err.Number & vbLf & Err.Description

End Sub

sur mon PC de travail ce code fonctionne parfaitement et je transmet par pièce jointe la feuille "FACTMAIL.pdf"

sur le PC cible (config win10Pro-64+office2019 Pro-64 idem PC de travail) la pièce jointe est coupée en 2 (2 pages) et le texte est comme "flou".

j'ai tout revérifié et ne trouve pas pourquoi. les versions win10 et Office 2019 sont au même niveau de mise à jour.

Y a-t-il un paramètre que je puisse activer sur le PC cible pour recevoir un PDF correct ?

merci d'avance pour vos suggestions

GB

Publicité
Debrief
 Posté le 17/06/2021 à 09:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Avant d'exporter en PDF je ferais:

With ActiveSheet.PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With

Debrief
 Posté le 17/06/2021 à 10:07 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Et si les marges gauche & droite et haute & basse sont trop grandes, les ajuster avec le nombre de pouces (2,54 cm) que tu veux (ici 0,7 pouces)

With ActiveSheet.PageSetup
.LeftMargin = Application.InchesToPoints(0.7)
.RightMargin = Application.InchesToPoints(0.7)

.TopMargin = Application.InchesToPoints(0.7)
.BottomMargin = Application.InchesToPoints(0.7)
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With



Modifié par Debrief le 17/06/2021 10:12
gibi74
 Posté le 17/06/2021 à 10:18 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci Debrief de prendre mon problème,

j'ai aussi essayé avec :

' ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nompdf & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

même résultat

je vais tester ta modif sur le pc cible . Je le fais à distance et il n'est pas toujours accessible. Je t'informe du suivi.

à +

gibi74
 Posté le 17/06/2021 à 14:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

le résultat est inchangé.je joins le document issu du PC Cible et celui reçu de mon PC :

Debrief
 Posté le 17/06/2021 à 14:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Alors là je ne sais pas quoi te dire.

Et si tu ajoutes dans le ActiveSheet.PageSetup: .PaperSize = xlPaperA4

gibi74
 Posté le 17/06/2021 à 15:27 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

message : impossible de définir la propriété papersize

gibi74
 Posté le 17/06/2021 à 15:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

J'ai trouvé:

en fait le client a configuré en imprimante par défaut une imprimante ticket DYMO.

d'où le défaut de format du document résultant.

testé avec une autre imprimante c'est ok.

merci pour le coup de main

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
999 €Portable 15,6' Lenovo Legion 5 (FHD, Ryzen 5, 8Go, SSD 512Go, RTX3060) à 999 €
Valable jusqu'au 28 Janvier

Leclerc fait une promotion sur le PC portable Lenovo Legion 5 (15ACH6H) dédié aux joueurs qui passe à 999 € au lieu de 1200 €. Ce PC portable très bien équipé possède un écran 15,6 pouces LED Full HD 120 Hz, un processeur AMD Ryzen 5 5600H, 8 Go de RAM, un SSD NVMe de 512 Go et une carte graphique GeForce RTX 3060 6 Go dédiée qui avalera tous vos jeux sans broncher. L'ordinateur est livré avec Windows 10 que vous pourrez mettre à jour pour Windows 11.


> Voir l'offre
39,95 €Casque audio bluetooth JBL Tune 700 BT à 39,95 €
Valable jusqu'au 28 Janvier

Auchan solde le casque audio sans fil bluetooth JBL Tune 700BT qui passe à 39,95 € alors qu'on le trouve ailleurs à partir de 49 €. Léger, moderne et connecté, le casque sans fil JBL TUNE 700BT est un formidable allié pour savourer vos morceaux préférés. Idéalement posé sur vos oreilles, il délivre un son JBL de qualité tout en se connectant sans le moindre fil à votre appareil mobile via Bluetooth. Appréciez une belle autonomie de 24 heures, un contrôle pratique depuis les commandes sur l'oreillette ainsi qu'un port confortable.


> Voir l'offre
279,99 €Casque sans fil Bose Headphones 700 à 279,99 €
Valable jusqu'au 28 Janvier

Boulanger fait une promotion sur l'excellent casque sans fil Bose Headphones 700 qui passe à 279,99 € une fois ajouté au panier au lieu de 319 €. En plus d'un son incroyable, ce casque offre 11 niveaux de réduction active de bruit vous permettent de profiter de la musique, des podcasts, des vidéos et des appels, sans distraction. Un système de microphones révolutionnaire s’adapte aux environnements bruyants et venteux afin de restituer votre voix avec une clarté incroyable lors de vos appels. Vous permet également d'accéder facilement aux assistant vocaux Google et Alexa. Autonomie jusqu'à 20 heures.


> Voir l'offre

Sujets relatifs
Création d'un PDF depuis Excel. taille différente en fonction de la méthode
Vba excel 2003 : envoi mail
Envoi de multiples pages PDF
Envoi quotidien en VBA Outlook d'un mail
Envoi de mail avec outlook en passant par les contacts
Envoi d'une feuille de calcul contenant des Pdf
envoi de mail laposte.net par outloock 2007
envoi de mail sur outlook express 6
Envoi d'un mail à un grand nombre de destinataires
Envoi par mail feuille de classeur par CDO
Plus de sujets relatifs à VBA envoi de mail PDF depuis Excel2019
 > Tous les forums > Forum Bureautique