problème de transfer de userform vers PDF (résolu)

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 !

pasquetp

XLDnaute Occasionnel
Bonjour a tous,

je suis parvenu a transferer un userform vers un pdf et a lenvoyer par outlook

il y a malgre tout un bug qui arrive de temps a autre (curieux)

il m'indique l'erreur: la méthode paste a échoué et me met en jaune (voir code ci dessous)

quel'qun aurait il une idée?

merci a tous

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const VK_SNAPSHOT = 44
Const VK_LMENU = 164
Const KEYEVENTF_KEYUP = 2
Const KEYEVENTF_EXTENDEDKEY = 1





Private Sub Image1_Click()
Dim pdfName As String
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String
Application.ScreenUpdating = False '...............................

keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP, 0
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP, 0

DoEvents

ThisWorkbook.Worksheets.Add After:=Worksheets(Worksheets.Count)
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.708661417322835)
.RightMargin = Application.InchesToPoints(0.708661417322835)
.TopMargin = Application.InchesToPoints(0.748031496062992)
.BottomMargin = Application.InchesToPoints(0.748031496062992)
.HeaderMargin = Application.InchesToPoints(0.31496062992126)
.FooterMargin = Application.InchesToPoints(0.31496062992126)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
.EvenPage.LeftHeader.Text = ""
.EvenPage.CenterHeader.Text = ""
.EvenPage.RightHeader.Text = ""
.EvenPage.LeftFooter.Text = ""
.EvenPage.CenterFooter.Text = ""
.EvenPage.RightFooter.Text = ""
.FirstPage.LeftHeader.Text = ""
.FirstPage.CenterHeader.Text = ""
.FirstPage.RightHeader.Text = ""
.FirstPage.LeftFooter.Text = ""
.FirstPage.CenterFooter.Text = ""
.FirstPage.RightFooter.Text = ""

End With

ActiveSheet.Paste
pdfName = ActiveWorkbook.Path & "\Mon_Fichier.pdf"

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=pdfName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=False, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True

Application.DisplayAlerts = False '.............................
Worksheets(Worksheets.Count).delete
'Application.SendKeys "{ENTER}"
Unload Me
 
Dernière édition:
Re : problème de transfer de userform vers PDF

Salut, ajouter un DoEvents ou un Sleep à l'endroit idoine. voir ici et dans ce dernier cas ajouter cette déclaration :
Code:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
 
Re : problème de transfer de userform vers PDF

Cher kiki29,

Je ne peux que vous dire MERCI puissance 10.

Ca marche nikel avec un sleep 5000

je ne vois plus l'erreur

Merci de votre réponse efficace et également très rapide que j'apprécie bcp

Excellente journée à vous

Pierre
 
Re : problème de transfer de userform vers PDF

Salut, j'avais laissé ce cas extrême de 5000 c'était pour la prise de contrôle à distance d'un pc via TeamViewer, par la suite la personne avait réduit cette valeur. Tu devrais pouvoir le faire également.
 
- 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

Retour