XL 2021 Problème avec "coller" en dehors d'Excel

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Magic_Doctor

XLDnaute Barbatruc
Supporter XLD
Bonjour,

Utilisant un clavier français (AZERTY) ou espagnol (QWERTY), je suis fréquemment confronté à des problèmes de caractères. Pour y pallier, j'ai réalisé un petit utilitaire :
- Un tableau avec des caractères alphabétiques, numériques, monétaires et symboliques.
- Quand on clique sur un caractère, celui-ci est copié et il n'y a plus qu'à le coller ailleurs (Bloc-note, Word...).
Ça marche bien, mais il demeure un petit souci. Quand, par exemple, je remplace le 2ème "n" de "nino" par "ñ" pour obtenir "niño", le "ñ" se substitue bien au "n", mais tout de suite après le "ñ" il y a un renvoie à la ligne. Autrement dit j'obtiens :
niñ
o
au lieu de :
niño

C'est bizarre. J'ai beau tourner en rond, je ne parviens pas à résoudre ce problème. C'est d'autant plus déconcertant quand on sait que là où on colle on n'est plus dans Excel.
En revanche, quand on va sur le site web via "More Symbols" (dont je me suis inspiré) et que l'on clique sur un caractère quelconque et qu'on le colle ensuite en dehors d'Excel, ce problème n'apparaît pas.
Une réponse à cette histoire ?
 
Solution
Bonjour Magic_doctor, TooFatBoy,
En passant par ChatGPT, ceui ci préconise cette fonction pour faire un transfert dans le presse papier.
Je ne comprends pas trop d'où vient le problème, mais avec cette fonction ça a l'air de marcher. 🙂
VB:
Function Clipboard(Optional StoreText As String) As String
If StoreText = "" Then Exit Function
Dim x As Variant
'Store as variant for 64-bit VBA support
  x = StoreText
'Create HTMLFile Object
  With CreateObject("htmlfile")
    With .parentWindow.clipboardData
      Select Case True
        Case Len(StoreText)
          'Write to the clipboard
            .setData "text", x
        Case Else
          'Read from the clipboard (no variable passed through)
            Clipboard = .GetData("text")...
Bonsoir sylvanu, TooFatBoy, gosselien,
Merci pour vos réponses.

En fait, c'est une histoire à dormir debout. Je fais des essais sur Word, et j'ai ces bizarreries qui apparaissent. Je vais me coucher.
Ce matin, j'ouvre un document vierge Word, je refais des essais et ça marche impeccable. Je ne cherche même plus à comprendre, l'essentiel étant que ça marche.

J'en profite pour glisser la dernière mouture.

PS : mot de passe pour modifier éventuellement la feuille : "zaza"
 

Pièces jointes

Bonsoir,

J'ai peaufiné quelques détails dont essentiellement la barre d'état.
¡Ahora sí que está terminado!

Finalement, c'est très pratique
1761428028271.png


mot de passe : "zaza"
 

Pièces jointes

Dernière édition:
Bonjour,

Je m'ennuyais.
Amélioration de certaines macros... pour l'honneur !
Petit relookage pour le copiage des cellules du tableau, tout à fait inutile mais ô combien indispensable... pour le fun !

Mot de passe : zaza

Pour faire des modifications dans la feuille :
1/ dans le module de feuille (tout en haut), mettre Private Const armaggedon As Byte = 0
une fois terminé, remettre Private Const armaggedon As Byte = 1 (sinon plus rien ne marche)
2/ ôter la protection de la feuille
une fois terminé, pas besoin de reprotéger la feuille, la protection se faisant automatiquement (après avoir mis Private Const armaggedon As Byte = 1) dès qu'on clique sur la feuille
3/ dans le module standard "Macros" à PARAMÉTRAGES on peut :
modifier les dimensions du tableau
les couleurs
le ScrollArea
le mot de passe
 

Pièces jointes

Dernière édition:
bonjour,
juste pour le fun.
VB:
Sub Test()
PressePapier = "TOTO"
Debug.Print PressePapier
ClearPressePapier
End Sub
Public Function ClearPressePapier()
With CreateObject("htmlfile").parentwindow.clipboardData.clearData("Text"): End With
End Function
Public Property Let PressePapier(valeur)
With CreateObject("htmlfile").parentwindow.clipboardData.setData("Text", valeur): End With
End Property

Public Property Get PressePapier()
PressePapier = CreateObject("htmlfile").parentwindow.clipboardData.GetData("TEXT")
End Property
 
Dernière édition:
Re,

Quand vous êtes avec ce stupide clavier AZERTY (3 tondus et 4 pelés qui l'utilisent dans le monde), bonne chance pour écrire en espagnol ou en portugais.
Même en français, É, Ç, Œ... c'est la galère.
Ma fille le voulait, je lui ai fait et ça m'a amusé, après des années d'abandon d'Excel, de le faire.
En attendant, ça marche bien. Mais pour toute amélioration, je suis preneur.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour