Vider le presse-papiers en VBA

Gregg

XLDnaute Nouveau
Bonjour à tous,

Je cherche désespérément à vider le presse-papiers via une macro dans Excel 2007.

J'ai bien essayé le "application.cutcopymode=false" ne fait que stopper le copier ou couper, et ne vide pas le presse-papiers.

De même, les essais suivants (trouvés sur différents forums) se sont également avérés infructueux :
Sub vide_PP()
On Error Resume Next
Application.CommandBars("Clipboard").Controls(4).Execute
End Sub
ou
Sub viderPressPapier()
'necessite d'activer la reference Microsoft 0ffice x.x Objet Library
With New DataObject
.SetText ""
.PutInClipboard
End With
End Sub

Merci d'avance de votre aide.
 

RENAUDER

Nous a quitté
Repose en paix
Re : Vider le presse-papiers en VBA

Bonjour,
Essaies ceci
Code:
Sub viderPressPapier()
    'necessite d'activer la reference Microsoft 0ffice x.x Objet Library
    Dim MyData As DataObject
    Set MyData = New DataObject
    With MyData
        .SetText ""
        .PutInClipboard
    End With
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Vider le presse-papiers en VBA

Bonsoir à tous, re Eric


Une autre façon


Code:
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function CloseClipboard Lib "user32" () As Long

Sub Clear_Clipboard()
   OpenClipboard (0)
   EmptyClipboard
   CloseClipboard
End Sub
 

Cousinhub

XLDnaute Barbatruc
Re : Vider le presse-papiers en VBA

Bonsoir,

Eric et JM, vos codes ne fonctionnent plus depuis Excel 2003....

J'ai pour ma part fait énormément de recherche, et je n'ai jamais trouvé la solution....

Il me semble que le presse-papier, depuis 2003 n'est plus le Clipboard de Windows, mais un presse-papier propre à Office.....

Bonne soirée
 

Discussions similaires

Statistiques des forums

Discussions
312 679
Messages
2 090 860
Membres
104 677
dernier inscrit
soufiane12