Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
Bonjour Wayki,

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



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

Daniel
 

Wayki

XLDnaute Impliqué
Le problème est aléatoire ou il intervient toujours sur le copiage (ou collage) du même élément ?
Difficile de te solutionner sans plus d'infos.
Tu veux pas essayer avec Target.copy ?
A +
 

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 +
 

danielco

XLDnaute Accro
J'ai une routine pour vider le presse-papiers par VBA. Je vais l'installer, mais j'attends que mon code déraille pour voir la différence.
Merci pour avoir cherché. Si ça fonctionne, je posterai la solution.

Daniel
 

Dranreb

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

Discussions similaires

Réponses
47
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…