Forum Clubic

Sendkeys selection en vba

Salut à tous les clubbers !

Je reviens vers vous car je n’arrive pas à me dépêtrer d’un petit problème basique !

En fait je souhaiterai faire un sendkey de sélection avec ce code :

Ce code ne produit absolument rien, par contre quand je fais ce code ci :

Ce code fonctionne mais m’efface les caractères que je souhaite reprendre !

J’ai essayé de mettre un + devant chaque right et le sendkeys ne s’exécute pas de nouveau.

Il est pourtant possible d’effectuer cette action puisque je la fais manuellement pour tester et cela fonction
Shift+fleche droite, ctrl+c et coller dans excel. Mais en sendkeys ca ne fonctionne plus :s.

Merci de votre aide !

Ce qui efface tes caractères, ça ne doit pas être les {right}, mais les espaces que tu as mis entre chacun d’eux.

Ca ne marche toujours pas gcc, ce qui est bizarre c’est que même la sendkeys seule {RIGHT} ne fonctionne pas …
Par contre par erreur j’ai fait le même code avec {ENTER} et la il me copie tout ! Donc c’est que ca fonctionne mais pas avec RIGHT …

Difficile de t’en dire plus, parce qu’à un moment tu parles de vba, à un autre de excel, et entre les deux de sendkeys
tu peux en dire un peu plus sur ta configuration ? tu travailles avec 2 PC ?
ton excel il est en français ou en anglais ?

Et je ne vois pas l’intérêt du + dans l’exemple que tu donnes (le 2e).
Tu veux arriver à quel résultat exactement ?
Edité le 10/02/2012 à 00:26

Oui, excuse moi je vais détailler exactement ce que je cherche à faire.

Le gros du projet et de dialoguer entre Excel et TN5250J (un emulateur AS/400 d’IBM, une sorte de base de données en quelques sorte).

Le but étant à partir d’un fichier excel qui contient une nomenclature de l’envoyer dans TN5250J (qui est en java.)

Donc à partir d’excel j’ai créé une macro qui lance TN5250J, va dans la rubrique nécessaire, copie un code article de la nomenclature qui se trouve dans excel et le colle dans TN5250J (jusque la tout se déroule pour le mieux). Si l’article existe dans TN5250J, une fiche apparaît avec la description de l’article (numéro article,quantité, l’assemblage etc etc …). Dans cette fiche qui s’ouvre il y’a toujours un champs qui est remplit qui est le champs “numéro article”. Je souhaiterai donc faire une sélection de ce code et le coller dans excel en faisant un sendkeys. Ainsi excel verra que la cellule n’est pas vide et passera à la cellule suivante. Cette manipulation est donc (shift+ droite. En sendkeys shift correspond à “+” et droite {RIGHT})

Dans le cas ou l’article n’existe pas, le champs “numéro article” est donc vide. La sélection de ce champ via sendkey se fera et sera collé dans excel. Excel verra que la cellule est vide est mettra donc un “1” a coté du code article correspondant, ce qui signifie que l’article doit être créer.

En gros je cherche juste à faire une sélection de texte dans TN5250J pour coller dans excel et tout ca de façon automatique.

Pour répondre à tes autres questions :

Je travail sous windows 7 pro 64 bits, avec une licence microsoft office 2003 en français. Concernant le “+” du deuxième code. Je pensais qu’en faisant ce code ci il allait le traduire par maintenant “+” (donc MAJ) et appuyer 8 fois sur RIGHT mais ce n’est pas ca la syntaxe exacte. La syntaxe exacte pour maintenir une touche en sendkeys est : “+({RIGHT 8})”. Mais ca ne fonctionne toujours pas.

J’ai vraiment l’impression que j’ai vraiment un problème concernant, TOP, RIGHT, LEFT et DOWN. J’ai aucun retour en les utilisant :s.

C’est un peu plus clair en effet
Quand je disais que je ne voyais pas l’intérêt du +, c’est que sous excel, quand tu veux étendre une sélection, tu maintiens ta touche shift enfoncée, tu ne la relâches pas après avoir frappé la première fois sur la touche flèche droite.
Donc ça devrait nous donner quelque chose comme +{RIGHT}+{RIGHT}+{RIGHT}
Pour aller jusqu’au bout de la sélection en général on fait Maj-Ctrl flèche droite, donc là +^{RIGHT}
Tu as essayé ?

Oui j’ai essayé et ca ne marche pas non plus. J’ai donc regardé dans les paramètres de TN5250J voir si ce n’est pas de lui que vient le problème, j’ai changé la commande “MARK RIGHT” qui était donc Shift+Droite (normal) par Shift+! et ca fonctionne … Je ne comprends pas pourquoi les flèches directionnelle ne fonctionnent pas avec TN5250J en SendKeys :frowning: