Probleme avec sendkeys

Signaler
Messages postés
4
Date d'inscription
dimanche 24 janvier 2010
Statut
Membre
Dernière intervention
28 septembre 2010
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
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)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
SendKeys, c'est le mal.


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Messages postés
4
Date d'inscription
dimanche 24 janvier 2010
Statut
Membre
Dernière intervention
28 septembre 2010

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...
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
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