IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[E-07] Contenu du presse-papier


Sujet :

Macros et VBA Excel

  1. #1
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut [E-07] Contenu du presse-papier
    Bonjour,

    J'utilise un USF pour pouvoir copier un tableau présent dans word.
    Après la recopie manuelle par l'utilisateur, un bouton est rendu accessible
    pour la copie dans word.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sheets.Add After:=Sheets(Sheets.Count)
    With ActiveSheet
           .Paste
          ...
     End With
    Pour plus de souplesse, je voudrai que le bouton soit toujours accessible et tester si quelque chose (ce serait deja pas mal) est contenu dans le presse-papier.

    Edit : j'ai trouvé du code pour VB chez monsieur plasserre mais je ne sais pas si c'est possible en VBA.
    Un lien aussi ici, mais ne répond pas à ma question

  2. #2
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Bonjour,

    Bon j'ai fini par trouver ce que je cherchais :

    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
    Declare Function OpenClipboard Lib "user32"     (ByVal hwnd As Long) As Long
    Declare Function GetClipboardData Lib "user32" (ByVal wFormat As Long) As Long
    Declare Function CloseClipboard Lib "user32" () As Long
    Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
     
    Sub test_du_pressepapiers()
     
    Dim données As Long
     
    OpenClipboard GetWindow(0, 0)
    données = GetClipboardData(1)
    If données <> 0 Then
      ...
    Else
      MsgBox "il n'y a pas de texte dans le presse-papiers"
    End If
    CloseClipboard
    End Sub
    Edit : je mets sur résolu quand j'aurai terminé, en attendant si quelqu'un a une suggestion...

  3. #3
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Bon, le code fonctionne parfaitement.

    Juste une question quelqu'un pourrai m'expliquer le fonctionnement de
    apparemment 1 correspond au format texte, comment peut-on connaitre les valeurs possibles ? Je n'arrive pas par exemple à utiliser CF_TEXT

    EDIT dans les exemples que j'ai vu on donne en fait la valeur 1 à CF_TEXT
    mais je n'ai pas encore trouvé de tableau avec ces valeurs.

  4. #4
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Bonjour,

    J'ai cru comprendre qu'avec VBA on ne pouvait pas recuperrer le HANDLE
    donc il faut donner la valeur 1 à CF_TEXT; 2 pour CF_BITMAP...


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recuperer le contenu du presse papier
    Par isoman dans le forum Linux
    Réponses: 6
    Dernier message: 09/02/2008, 19h50
  2. recuperer le contenu du presse papier
    Par hunter99 dans le forum C
    Réponses: 1
    Dernier message: 08/02/2008, 18h24
  3. [Free Pascal] Voir le contenu du presse-papier
    Par JoseF dans le forum Free Pascal
    Réponses: 1
    Dernier message: 07/12/2007, 22h01
  4. Réponses: 1
    Dernier message: 29/09/2007, 10h46
  5. Réponses: 12
    Dernier message: 10/06/2006, 20h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo