Microsoft 365 tester si valeur dans le presse-papier ou ClipBoard est numérique ou non

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous,

je bloque sur mon besoin malgré mes recherches et tentatives.

Ce que je fais :
1 - copier d'une valeur,
2 - j'ai besoin de tester si cette valeur est numérique ou non pendant qu'elle est dans le presse-papier ou ClipBoard
ou quand elle est collé dans la recherche find car je ne la colle pas dans une cellule.

par exemple pour dire : Is Not Numeric() Then Exit Sub
je ne suis pas certain que cela soit possible mais si solution il y a, ça m'arrangerait bien LOl :)

Un grand merci , comme d'habitude, à toutes et à tous pour votre aide toujours si précieuse.
S'il est nécessaire de faire une fichier test, dites-moi :)
Je vous souhaite une super WE,
Amicalement,
lionel,
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Ha JM, toujours sur le vif :)

Bien sûr que NON : tu n'as pas perdu ton temps et tes conseils ou (Rappels LOL) sont toujours judicieux et utiles.
CTRL C et V ... j'en fait des milliers par jour et les yeux fermés :)
Mais je ne souhaitais pas inclure le code préconisé dans mon fichier déjà lourd.

Mais, après avoir fait CTRL C et V ... je l'ai gardé ... en cas de besoin.
Merci JM,
lionel :)
 

Usine à gaz

XLDnaute Barbatruc
Bonjour mapomme,

Merci d'être là encore toi aussi.
Merci pour tes codes ... ça semble bien fonctionner et ... légers LOL.
Quand j'aurai terminé mes tests et le fichier finalisé je le mettrai ici et dans l'autre fil :

lionel :)
 

Staple1600

XLDnaute Barbatruc
Re

arthour973
Il ne s'agissait pas d'intégrer mais de tester la seconde proposition avec l'API
(puisque le code 1 ( avec Ms Forms 2.0) ne fonctionne pas sur ton PC)
Chose que tu n'as pas faite puisque pas de retour de ta part sur ce simple petit test...

(Et pourtant dans le message#14, tu as tout ce qu'il faut pour faire le test sur un fichier vierge... :rolleyes:)

PS: Un peu plus , un peu moins ,vu que tu adores les usines à gaz, ca n'aurait pas fait grand différence ;)
Et avec ta version d'Excel, tu es obligé de passer par l'API pour taquiner le clipboard ;)
 

job75

XLDnaute Barbatruc
Bonsoir Lionel, JM, mapomme, Bernard,

mais je suis sur une autre piste toute simple et je pense que ce sera bon.
Comme celle-ci peut-être :
VB:
Sub Test()
[A1] = 123
[A1].Copy
Clipboard
Application.CutCopyMode = 0
End Sub

Sub Clipboard()
Dim ac As Range, c As Range, v As Variant
Application.ScreenUpdating = False
Set ac = ActiveCell
Set c = Cells.Find("", , xlValues) 'cellule vide
c.Select
On Error Resume Next
Paste
v = c
c = ""
ac.Select
If IsNumeric(CStr(v)) Then Application.ScreenUpdating = True: MsgBox "Valeur numérique : " & v, , "Clipboard"
End Sub
Les API en général c'est plus que pénible.

A+
 

Dranreb

XLDnaute Barbatruc
Je ne trouve pas que les API soient pénibles en général. Elles ont tendance à marcher du premier coup. Il faudra voir les surprise avec les 64bit du coté des Long à passer aussi en LongPtr. Ça semble être le cas de tous les 'handle' qui semblent alors donc être en fait des adresses. Là c'est juste que MSForms offre un accès simple au presse papier pour du texte, et qu'il ne faudrait pas qu'un bogue Microsoft le rende inutilisable trop longtemps. Dernièrement il était subitement devenu impossible de retransmettre à une procédure un ParamArray vide (avec UBound (-1) < LBound (0)), mais ça a été réglé.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, job75

job75
Les API en général c'est plus que pénible.
Faut dire cela à Microsoft
I opened a support case with Microsoft as suggested by Kirk Beller. The process was quite satisfactory, and after a very useful exchange, MS determined the cause to be 'most likely a flaw in our product'. So far, I have had no notification of when or if it might be fixed - MS have to recognise a strong enough business case.

During the course of the case, MS helped me develop a robust workaround using native Windows API calls instead of a DataObject. These are documented in the following articles:
> Ce lien n'existe plus (How to: Send Information to the Clipboard);
> Ce lien n'existe plus (How to: Retrieve Information from the Clipboard).
 

Discussions similaires

Statistiques des forums

Discussions
314 644
Messages
2 111 528
Membres
111 189
dernier inscrit
Laurent.