Bonjour à tous,
J'essai d'imprimer correctement un userform comportant 7 onglets. mais j'ai un pb avec la fonction DECLARE:
En effet, Excel me demande de mettre à jour mon code pour pouvoir être utilisé en 64 bits. et me demande de les marquer avec l'attribut PtrSafe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Private Declare Sub keybd_event Lib "user32" ( _ ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
N'ayant pas trouvé dans les forums, je me permets de poser la question ici. Avez-vous une idée?
Ci-dessous le code dans son intégralité:
merci de votre aide!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 Option Explicit Private Declare Sub keybd_event Lib "user32" ( _ ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Sub btImprimer_Click() Dim objFeuilPass As Worksheet MultiPage1.Value = 0 UFSaisie.Repaint keybd_event vbKeySnapshot, 1, 0&, 0& DoEvents Sheets.Add.Name = "PassImp" Set objFeuilPass = Sheets("PassImp") objFeuilPass.Paste With objFeuilPass.Shapes(1) .Top = 3 .Left = 40 .Height = 390 .Width = 448 End With MultiPage1.Value = 1 UFSaisie.Repaint keybd_event vbKeySnapshot, 1, 0&, 0& DoEvents objFeuilPass.Paste With objFeuilPass.Shapes(2) .Top = 250 .Left = 40 .Height = 390 .Width = 448 End With MultiPage1.Value = 2 UFSaisie.Repaint keybd_event vbKeySnapshot, 1, 0&, 0& DoEvents objFeuilPass.Paste With objFeuilPass.Shapes(3) .Top = 717 .Left = 40 .Height = 390 .Width = 448 End With With objFeuilPass.PageSetup .LeftMargin = Application.InchesToPoints(0.25) .RightMargin = Application.InchesToPoints(0.25) .TopMargin = Application.InchesToPoints(0.75) .BottomMargin = Application.InchesToPoints(0.53) .HeaderMargin = Application.InchesToPoints(0.32) .FooterMargin = Application.InchesToPoints(0.39) .LeftHeader = "Post Mortem d'arrêt machine" .CenterHeader = " " .RightHeader = "Équipement #" & cbxEquipement .LeftFooter = " " .CenterFooter = "&D" & "" .RightFooter = "page " & "&P" & " sur " & "&N" .PrintErrors = 0 End With objFeuilPass.PrintOut Application.DisplayAlerts = False objFeuilPass.Delete Application.DisplayAlerts = True Set objFeuilPass = Nothing MultiPage1.Value = 0 End Sub
Partager