Erreur de compilation / user32 / Clipboard
Grifis
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Tout d'abord je tiens à préciser que je débute en VBA (soyez indulgent svp :/) et apprend au fil de l'eau sur les forums en attendant une formation sur ce sujet.
En raison d'un problème que j'ai (via un autre poste) j'essaye d'utiliser un code comme me le conseille msdn. Mon problème est que je n'arrive pas à l'utiliser, ce code servant à vider le cache du presse papier.
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Function ClearClipboard() As Boolean
If OpenClipboard(Application.hwnd) = 0 Then
ClearClipboard = False
Else
EmptyClipboard
CloseClipboard
ClearClipboard = True
End If
End Function
Des que je l'utilise, j'obtiens l'erreur "erreur de compilation : type défini par l'utilisateur non défini". Cela signifie que je dois importer une librairie dans Outils>Références ? J'ai aussi pas mal entendu parler de l'API pour gérer user32 mais la j'ai peur de tomber sur un sujet bien trop complexe pour mon humble niveau....
Si quelqu'un peut m'aiguiller...
Merci
Grifis
Tout d'abord je tiens à préciser que je débute en VBA (soyez indulgent svp :/) et apprend au fil de l'eau sur les forums en attendant une formation sur ce sujet.
En raison d'un problème que j'ai (via un autre poste) j'essaye d'utiliser un code comme me le conseille msdn. Mon problème est que je n'arrive pas à l'utiliser, ce code servant à vider le cache du presse papier.
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Function ClearClipboard() As Boolean
If OpenClipboard(Application.hwnd) = 0 Then
ClearClipboard = False
Else
EmptyClipboard
CloseClipboard
ClearClipboard = True
End If
End Function
Des que je l'utilise, j'obtiens l'erreur "erreur de compilation : type défini par l'utilisateur non défini". Cela signifie que je dois importer une librairie dans Outils>Références ? J'ai aussi pas mal entendu parler de l'API pour gérer user32 mais la j'ai peur de tomber sur un sujet bien trop complexe pour mon humble niveau....
Si quelqu'un peut m'aiguiller...
Merci
Grifis
A voir également:
- Erreur de compilation / user32 / Clipboard
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
3 réponses
Bonjour Fxx, depuis quand ?
@ Grifis, pourquoi ouvrir un deuxième poste avec le même sujet ?
Bref, j'ai testé ton code (dans un module de feuille) et il ne génère aucune erreur ?
J'ai juste changer Function ClearClipboard() As Boolean par Function VideClipboard() As Boolean
Tu dois avoir la référence MsForms activée.
A+
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 .
@ Grifis, pourquoi ouvrir un deuxième poste avec le même sujet ?
Bref, j'ai testé ton code (dans un module de feuille) et il ne génère aucune erreur ?
J'ai juste changer Function ClearClipboard() As Boolean par Function VideClipboard() As Boolean
Tu dois avoir la référence MsForms activée.
A+
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 .
Pour affiner la remarque de FXX
Si tu appel la fonction depuis un autre module, ou un UserForm...
Alors là oui, tu dois mettre le code dans un module général et de préférence déclarer la fonction comme Public.
Si tu appel la fonction depuis un autre module, ou un UserForm...
Alors là oui, tu dois mettre le code dans un module général et de préférence déclarer la fonction comme Public.
Option Explicit Private Declare Function CloseClipboard Lib "user32" () As Long Private Declare Function EmptyClipboard Lib "user32" () As Long Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long Public Function VideClipboard() As Boolean If OpenClipboard(Application.hwnd) = 0 Then VideClipboard = False Else EmptyClipboard CloseClipboard VideClipboard = True End If End Function