View.paste invalid request clipboard is empty or contains.

Grifis Messages postés 10 Statut Membre -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour à tous,

Je reviens vers vous car je n'arrive pas à comprendre ni résoudre un problème sur la copie d'un tableau excel dans powerpoint.

Ci-dessous un apercu du code qui copie/colle un tableau dans powerpoint. Je suis obligé de coller en paste.view car le tableau doit pouvoir être modifié dans powerpoint (donc pas de bitmap / shapes /etc..).

Sheets("Avances 2-Retards").Select
Range("A1:I1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ppt.ActivePresentation.Slides(2).Select
ppt.ActiveWindow.View.Paste

Pour des raisons qui m'échappent, le code s'arrête au moment de coller avec le message d'erreur suivant :
view.paste invalid request clipboard is empty or contains data which may not be pasted here. (erreur 80048240).

J'ai surfé sur plusieurs sites qui parlent de problèmes de versions entre VBA & Powerpoint mais pas de solution à l'horizon.

Merci d'avance pour votre aide!

7 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Dans ce que tu copie y aurait pas des formules ?
    A+
    0
  2. Grifis Messages postés 10 Statut Membre
     
    Bonjour,

    Non aucune formule (8 colonnes et ~30 lignes).
    En avance de phase je fait un filtre mais que ce soit avec ou sans filtre j'ai toujours le même bug... :/
    0
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Quelle genre de données tu met dans le presse-papier ?
    0
  4. Grifis Messages postés 10 Statut Membre
     
    Des dates / du texte (format standard) / des chiffres (format nombres).
    Sur les forums microsoft il parle de vider le presse papier, je vais faire des tests voir si cela fonctionne.

    Si autres idées, je suis toujours preneur (et un peu désespéré..)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Ce sera probablement un peu (plus) compliquer mais à la place d'un simple Copy intéresse-toi à l'objet "ClipBoard" voire sur MSDN, tu a la possibilité de - vider le presse papier - sélectionner le type de données.
    Si tu trouve pas revient je verrais pour t'aiguiller.
    A+
    Note : Je peu pas tester avec PPT

    Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
    0
  7. Grifis Messages postés 10 Statut Membre
     
    Re bonjour et merci pour ton aide.

    J'essaye plusieurs techniques pour l'instant sans succès:

    a.
    Public Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As LongPublic Declare Function EmptyClipboard Lib "user32" () As Long
    Public Declare Function CloseClipboard Lib "user32" () As Long
    Sub Flush()
    OpenClipboard (0&)
    EmptyClipboard
    CloseClipboard
    End Sub

    A priori cela permet de nettoyer le clipboard. Cela dit je suis encore bien novice en VBA et je n'arrive pas à faire fonctionner ce code... (je n'arrive pas à déclarer le user32 qui pourtant existe chez moi..)

    b
    Application.CutCopyMode = False que l'on trouve souvent sur les forums ne marche pas dans mon cas (ce fait après le paste et mon besoin est de le faire avant...)

    c. Utiliser comme tu l'a dit clipboard.clear. J'imaginais faire un truc du genre:
    sheet(table_X).clipboard.clear ou Window.clipboard.clear mais rien ne marche encore.. (bon j'en suis au début du courage je suis qu'il existe une solution^^)

    Merci pour ton aide^^
    0
  8. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Re,
    J'ai retrouvé ça, dans mes archives, je précise que le code n'est pas de moi.
    Voir si ça peu t'aider.
    A+
    PS : c'est une façon de faire, ont se sert de l'objet "DataObject" de MsForm
    EDIT : Quel références tu à dans VBA de ppt ?

    Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
    0