Insertion userform dans feuille xls en vba

niny@ Messages postés 109 Date d'inscription   Statut Membre -  
niny@ Messages postés 109 Date d'inscription   Statut Membre -
Bonjour,

j'aimerai savoir comment inserer un userform dans une feuille excel.
j'ai trouvé ce bout de code sur le net mais j'ai un soucis sur le keybd_event qui est introuvable

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 CommandButton1_Click()
Dim Ws As Worksheet

'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
Ws.Paste

'impression centrée dans la page
With Ws
.PageSetup.CenterHorizontally = True
.PageSetup.CenterVertically = True
.PrintOut
End With
End Sub

merci de votre aide a tous
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour niny@

    J'ai essayer le code et ça fonctionne. Ca insère l'image de la Userform dans la feuille Excel.

    Quel problème rencontres-tu avec l'API ?

    ;o)
    0
  2. niny@ Messages postés 109 Date d'inscription   Statut Membre
     
    kikou toi !

    ben il me dit que
    Private Declare Sub keybd_event Lib "user32" ( _
    ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
    ByVal dwExtraInfo As Long)

    "seul les commentaires sont en dehors d'une fonction"

    j'ai l'impression que ca va pas au niveau du keybd_event...
    est ce un pb de librairie ?
    0
  3. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Tu l'as mise ou cette fonction ? Elle doit être déclarée en entête de module.

    Kikou toi ;o) ..
    0
  4. niny@ Messages postés 109 Date d'inscription   Statut Membre
     
    lol
    ca a marché ! je crois que c'est moi qui suis dans le paté aujourdh'ui !
    si je ne veux pas que ca rajoute une page dans mon fichier xls mais que ca aille dans une feuille qui porte un nom "X" je remplace set ws = sheets.add
    par seulement :

    Workbooks(Module_auto_BE.nom_classeur).Sheets(feuille_break).paste

    non ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Yes .... ça doit le faire comme ça.

    ;o)

    Je vais en réu là ... GRRRRRRRRRRRRRRR
    0
  7. niny@ Messages postés 109 Date d'inscription   Statut Membre
     
    en espérant que ta réunion se passe bien !

    c'est bon ca marche !

    encore merci pour ton aide !
    a très très bientôt Polux
    0