pourquoi ma macro ne marche plus..?

paul87

XLDnaute Impliqué
Bonjour à tous,
Bonjour le Forum,
J'ai une macro qui permet d'imprimer un UserForm en "paysage"...qui fonctionne très bien...normalement.
J'ai voulu la copier/coller dans une autre appli/vba/Excel2003.
Ben ça ne marche plus !!

J'ai un message d'erreur "Sub ou fonction non définie" sur keybd_event

si je retransfère la même macro sur une autre appli...ça marche!..
je n'y comprends rien.
Qui pourrait me donner un tuyau..svp

Code:
Private Sub CommandButton2_Click()
'MACRO IMPRESSION PAYSAGE
'------------------------
Dim Ws As Worksheet


Dim MonNom As String

'Copie d'écran de la forme active
keybd_event vbKeySnapshot, 1, 0&, 0&
DoEvents
'Ajoute une feuille pour coller l'image de la forme
Set Ws = Sheets.Add
MonNom = ActiveSheet.Name
Ws.PageSetup.Orientation = xlLandscape
Ws.Paste
'impression centrée dans la page
With Ws.PageSetup
.PrintArea = "$A$1:" & Selection.BottomRightCell.Address
'.CenterHorizontally = True
'.CenterVertically = True
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.LeftMargin = Application.InchesToPoints(1)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0.8)
.BottomMargin = Application.InchesToPoints(0)
End With
Unload Me
ActiveSheet.PrintOut
'Supprime la feuille temporaire
Application.DisplayAlerts = False
Sheets(MonNom).Delete
Application.DisplayAlerts = True
End Sub
 

camarchepas

XLDnaute Barbatruc
Re : pourquoi ma macro ne marche plus..?

C'est quelque chose qui ressemble à ça ,

et qui doit ce trouver dans un module standard :

Code:
Private Declare Sub keybd_event Lib "user32" Alias "keybd_event" ( _
        ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
        ByVal dwExtraInfo As Long)
 

Discussions similaires

Statistiques des forums

Discussions
312 203
Messages
2 086 184
Membres
103 152
dernier inscrit
Karibu