XL 2016 VBA - Problème avec le coper-coller

danielco

XLDnaute Accro
Bonjour,

J'ai ce code qui fonctionne en début de journée pour copier le contenu d'une cellule dans le presse-papiers :

VB:
  Dim obj As New DataObject
  Dim txt As String
  obj.SetText Target.Value
  obj.PutInClipboard

Il n'y a pas d'erreur mais au lieu de la valeur de la cellule, le coller donne deux points d'interrogation encadrés.

Connaissez-vous ce problème et connaissez-vous un contournement ?

Merci d'avance.

Daniel
 

danielco

XLDnaute Accro
Bonjour

à priori.. si je copie colle le "code" tel que tu l'as posté.. que ce soit en début ou fin de journée.. ca ne fonctionnera pas..
Bonjour,

Merci de répondre. Par exemple, sur double-clic :

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim obj As New DataObject
  Dim txt As String
  Cancel = True
  obj.SetText Target.Value
  obj.PutInClipboard
End Sub

Avec la référence Microsft Forms cochée.

Daniel
 

Wayki

XLDnaute Impliqué
Salut,
Je sais pas trop ce que tu souhaite faire, mais j'ai pas de soucis avec ce code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim obj As DataObject
Dim txt As String
Set obj = New DataObject
Cancel = True
obj.SetText Target.Value
obj.PutInClipboard

End Sub
Si c'est juste copier coller des valeurs, pourquoi passer par un dataobject au lieu d'utiliser directement le presse papier avec un target.copy ou target.value.copy ?
A +
 

danielco

XLDnaute Accro
Salut,
Je sais pas trop ce que tu souhaite faire, mais j'ai pas de soucis avec ce code :

Si c'est juste copier coller des valeurs, pourquoi passer par un dataobject au lieu d'utiliser directement le presse papier avec un target.copy ou target.value.copy ?
A +
Bonjour Wayki,

Le problème est justement que ça fonctionne... jusqu'au moment où ça ne fonctionne plus. Le collage donne alors :

Capture d’écran 2021-08-12 141537.png


Sinon, j'utilise ce code parce que le collage se fait dans un autre logiciel.

Daniel
 

Wayki

XLDnaute Impliqué
J'avoue je sèche, à pars supprimer au préalable tes mises en formes ou copy pastespecial au préalable dans une cellule puis re copier cette cellule et la supprimer (ça fait beaucoup de manip...), mes connaissances en vba s'arrêtent là...
A +
 

Dranreb

XLDnaute Barbatruc
Bonsoir.
Des réponses ont été données ici.
 

Discussions similaires

Réponses
47
Affichages
2 K

Statistiques des forums

Discussions
312 209
Messages
2 086 274
Membres
103 168
dernier inscrit
isidore33