Vider le presse-papier avec vba sous excel 2003

Vider le presse-papier avec vba sous excel 2003 - VB/VBA/VBS - Programmation

Marsh Posté le 23-08-2006 à 22:53:25    

Bonjour,
Je recherche une méthode efficace pour vider le presse-papier avec excel 2003
(l'api windows emptyclipboard ne donne pas le resultat attendu ...)
Merci d'avance !

Reply

Marsh Posté le 23-08-2006 à 22:53:25   

Reply

Marsh Posté le 23-08-2006 à 23:24:02    

sous 2002 cela marche ( sous 2003 à tester )
Placer dans un Module


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


 
et dans un WorkBook
 


Sub Tst()
    OpenClipboard 0&
    EmptyClipboard
    CloseClipboard
End Sub


 

Reply

Marsh Posté le 24-08-2006 à 07:43:28    

Kiki29 merci pour ta réponse, mais j'ai essayé et cela ne fonctionne pas avec Excel 2003

Reply

Marsh Posté le 24-08-2006 à 09:02:00    

Reply

Marsh Posté le 26-08-2006 à 08:40:25    

Seniorpapou,
Avant de poster ma question, j'avais déjà fait le tour sur Internet, trouvé et essayé toutes ces solutions. Aucunes d'entre-elles ne fonctionnent efficacement avec Office 2003.
Merci quand même pour votre aide

Reply

Marsh Posté le 26-08-2006 à 09:16:07    

Bonjour,
quel presse-papiers utilises tu ?
office ou windows?
 si c'est office as-tu essayé d'enregistrer une macro en faisant la séquence effacer tout du presse-papiers?
ceci à tout zazar parce que je n'ai pas office 2003
@+

Reply

Marsh Posté le 27-08-2006 à 11:23:53    

Bonjour,
Je ne choisis pas vraiment le presse-papier car je fais uniquement copier et coller. Par contre tout ce qui est copié arrive dans le presse-papier Office (car pour le voir  j'utilise le volet office d'Excel). J'ai essayé l'enregistrement de macro mais cela ne genère aucun code !
L'utilisation des astuces "CutCoyMode" et "EmptyClipboard" n'ont aucun effet sur ce presse-papier.

Reply

Marsh Posté le 27-08-2006 à 11:43:33    

Bonjour,
Exact, le cutcopymode etc.. ne jouent que sur le presse papier windows, j'ai l'impression que pour vider celui d'office la seule solution est le clic sur effacer tout. Par contre on peut le rendre invisible, c'est tout ce que j'ai pu trouver pour toi.
Cordialement

Reply

Marsh Posté le 03-09-2008 à 15:25:16    

Bonjour!
 
Après être tombé sur ce sujet puis un autre, voici une solution trouvé sur un autre forum :
 

Citation :


le "application.cutcopymode=false" arrête le mode cut copy, mais ne vide pas le presse papier, faite plusieur copier coller et excel stock les anciens copier dans le presse papier.
Afin de vider le contenu total du presse papier, utilise le code suivant;
 
Sub ClearClipboard()
Dim oDataObject As DataObject
 
Set oDataObject = New DataObject
oDataObject.SetText ""
oDataObject.PutInClipboard
 
Set oDataObject = Nothing
End Sub


 
Voilà qui devrait aider ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed