Probleme avec sendkeys

cs_stephane2010 Messages postés 4 Date d'inscription dimanche 24 janvier 2010 Statut Membre Dernière intervention 28 septembre 2010 - 27 sept. 2010 à 22:51
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 28 sept. 2010 à 15:35
Bonjour,

J'ai des problème avec SendKeys

Ma commande est la suivante:

SendKeys Sheets("Feuil36").Range("B53").Value

Lorsque la valeur de la cellule est TOTO_44 cela fonction

Mais si la valeur est h>{&§t10q cela ne fonctionne pas.

avec la commande avant Senkeys

MsgBox Range("B53").Value

je récupère bien la valeur de la cellule.
Le problème vient de Sendkeys

je sais pas ou vient le problème dans la commande SendKeys

Quelqu'un pourrait il m'aider ?

Merci

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
27 sept. 2010 à 23:45
Salut

Bien sûr, tu as ouvert l'aide de la fonction SendKeys.
Et tu n'as rien vu de ... surprenant concernant les commandes de fonction ?
Ces commandes sont encadrées par des accolades { ou }
Donc, si ta propre chaine comporte ce caractère, ça risque de titiller la fonction.
Toujours expliqué dans l'aide, il est dit :
Pour indiquer des accolades, utilisez les caractères {{} et {}}.
Tu as donc un traitement de ta chiaine à faire avant de la soumettre.
Attention aussi au signes + ^ % ou () qui ont aussi une signification.

Moralité : il faut toujours lire les documentations.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 sept. 2010 à 05:57
SendKeys, c'est le mal.


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
cs_stephane2010 Messages postés 4 Date d'inscription dimanche 24 janvier 2010 Statut Membre Dernière intervention 28 septembre 2010
28 sept. 2010 à 15:28
Bonjour,

Effectivement avec {} ça fonctionne.

J'ai mis en dure la valeur de la cellule

h>{&§t10q

Application.SendKeys ("h>{{}&§t10q")

et cela fonctionne.

J'ai essaye aussi de mettre la valeur de la cellule dans une variable mais cela ne fonctionne pas non plus

Je pense qu'il faudrait faire une condition que si la valeur de la cellule comporte des caractères spéciaux, le mettre dans {} avant d'envoyer le tout a SendKeys
Mais je ne trouve pas comment faire...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 sept. 2010 à 15:35
SendKeys c'est le mal, tu ferais bien de t'en passer...


SendKeys Replace(MaRange.Value, "{", "{{}")


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
Rejoignez-nous