Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pressepapier

8 réponses
Avatar
Michel MTO
Bonjour à toutes et à tous,

J'ai un problème pour copier dans le presse papier :

cette procèdure m'a été founie et je l'utilise pour copier la valeur d'une
cellule directement dans le presse papier, plutôt que de faire clic droit et
copier.
Mais çà ne fonctionne pas :

Dim PressePapier As New dataobject

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set PressePapier = Target.Text
PressePapier.SetText
PressePapier.PutInClipboard
End Sub

l'erreur suivante est retournée par Xel : type défini par l'utilisateur non
défini

Merci pour votre aide

Michel MTO

8 réponses

Avatar
FFO
Salut Michel

Aprés avoir activé la référence : Microsoft Forms 2.0 Object Library

Je mettrai plutôt ce code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim PressePapier As New dataobject
Set PressePapier = New dataobject
PressePapier.SetText Target
PressePapier.PutInClipboard
End Sub

Celà devrait mieux convenir

Dis moi !!!!!
Avatar
Michel MTO
Merci pour ta réponse FFO,
j'ai toujours la même erreur
Mais je ne comprends pas ce que tu veut dire par :

Aprés avoir activé la référence : Microsoft Forms 2.0 Object Library ???

Michel

"FFO" a écrit dans le message de
news:
Salut Michel

Aprés avoir activé la référence : Microsoft Forms 2.0 Object Library

Je mettrai plutôt ce code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim PressePapier As New dataobject
Set PressePapier = New dataobject
PressePapier.SetText Target
PressePapier.PutInClipboard
End Sub

Celà devrait mieux convenir

Dis moi !!!!!



Avatar
FFO
L'éditeur VBA affiché :

Outils/Références

Coches "Microsoft Forms 2.0 Object Library"

Celà devrait mieux aller aprés

Donnes moi des nouvelles !!!!!
Avatar
Michel MTO
Bonjour FFO,
Je n'ai pas l'option "Microsoft Forms 2.0 Object Library"
j'ai "Microsoft office 9.0 Object Library"
"Microsoft office 9.0 Object Library"
qui sont déjà cochés

Michel

"FFO" a écrit dans le message de
news:
L'éditeur VBA affiché :

Outils/Références

Coches "Microsoft Forms 2.0 Object Library"

Celà devrait mieux aller aprés

Donnes moi des nouvelles !!!!!



Avatar
MichDenis
Bonjour Michel,

Une autre façon d'ajouter la bibliothèque mentionnée à ton projetVBA,

Insère un "userform" à ton projet et Excel se charge d'ajouter immédiatement
et par lui-même la bonne bibliothèque "Microsoft Forms 2.0 Object Library".
Tu pourras par la suite supprimer ton "userform".
;-)


"Michel MTO" a écrit dans le message de groupe de discussion :
4a6444b0$0$296$
Bonjour FFO,
Je n'ai pas l'option "Microsoft Forms 2.0 Object Library"
j'ai "Microsoft office 9.0 Object Library"
"Microsoft office 9.0 Object Library"
qui sont déjà cochés

Michel

"FFO" a écrit dans le message de
news:
L'éditeur VBA affiché :

Outils/Références

Coches "Microsoft Forms 2.0 Object Library"

Celà devrait mieux aller aprés

Donnes moi des nouvelles !!!!!



Avatar
Michel MTO
Super çà fonctionne,
mais pourquoi avant d'installer cette bibliothèque, l'erreur suivante était
retournée par Excel : type défini par l'utilisateur non défini

Merci encore.

Michel

"MichDenis" a écrit dans le message de
news:%
Bonjour Michel,

Une autre façon d'ajouter la bibliothèque mentionnée à ton projetVBA,

Insère un "userform" à ton projet et Excel se charge d'ajouter


immédiatement
et par lui-même la bonne bibliothèque "Microsoft Forms 2.0 Object


Library".
Tu pourras par la suite supprimer ton "userform".
;-)


"Michel MTO" a écrit dans le message de groupe


de discussion :
4a6444b0$0$296$
Bonjour FFO,
Je n'ai pas l'option "Microsoft Forms 2.0 Object Library"
j'ai "Microsoft office 9.0 Object Library"
"Microsoft office 9.0 Object Library"
qui sont déjà cochés

Michel

"FFO" a écrit dans le message de
news:
> L'éditeur VBA affiché :
>
> Outils/Références
>
> Coches "Microsoft Forms 2.0 Object Library"
>
> Celà devrait mieux aller aprés
>
> Donnes moi des nouvelles !!!!!
>


Avatar
MichDenis
| mais pourquoi avant d'installer cette bibliothèque,
| l'erreur suivante était retournée par Excel : type défini
| par l'utilisateur non défini

Dans la procédure que tu utilises, tu as cette ligne de code :
Dim PressePapier As New dataobject

cette ligne fait référence à un "Object" qui n'appartient pas à
la bibliothèque d'excel mais à celle de la bibliothèque spécifiée.
si tu essaies d'utiliser cette ligne de code sans ajouter la bibliothèque
Excel ne peut pas interpréter à quoi la ligne de code fait référence car
il ne connaît pas cet objet "DataObject" d'où le message d'erreur.

D'ailleurs, tu pourrais utiliser seulement ceci :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim PressePapier As New MSForms.dataobject
PressePapier.SetText Target
PressePapier.PutInClipboard
End Sub

À partir de l'explorateur d'objets dans l'éditeur de code,
raccourci clavier F2 à partir de la fenêtre de l'éditeur de code,
dans la liste déroulante : "toutes les bibliothèques" sélectionne
la bibliothèque "MSForms" et dans le bas de la fenêtre
apparaîtra les objets appartenant à cette bibliothèque dont
fait partie "DataObject"
Avatar
Michel MTO
Merci, MichDenis, pour tous ces éclaircissements, je vais me coucher moins
bête ce soir.
c'est bon d'apprendre

;-)


"MichDenis" a écrit dans le message de
news:Oe$pE%

| mais pourquoi avant d'installer cette bibliothèque,
| l'erreur suivante était retournée par Excel : type défini
| par l'utilisateur non défini

Dans la procédure que tu utilises, tu as cette ligne de code :
Dim PressePapier As New dataobject

cette ligne fait référence à un "Object" qui n'appartient pas à
la bibliothèque d'excel mais à celle de la bibliothèque spécifiée.
si tu essaies d'utiliser cette ligne de code sans ajouter la bibliothèque
Excel ne peut pas interpréter à quoi la ligne de code fait référence car
il ne connaît pas cet objet "DataObject" d'où le message d'erreur.

D'ailleurs, tu pourrais utiliser seulement ceci :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim PressePapier As New MSForms.dataobject
PressePapier.SetText Target
PressePapier.PutInClipboard
End Sub

À partir de l'explorateur d'objets dans l'éditeur de code,
raccourci clavier F2 à partir de la fenêtre de l'éditeur de code,
dans la liste déroulante : "toutes les bibliothèques" sélectionne
la bibliothèque "MSForms" et dans le bas de la fenêtre
apparaîtra les objets appartenant à cette bibliothèque dont
fait partie "DataObject"