Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème simulation frappes clavier multiples

  • Initiateur de la discussion Initiateur de la discussion Bastien chez smoc
  • Date de début Date de début

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 !

B

Bastien chez smoc

Guest
Bonjour,

Je suis étudiants en école d'ingé d'informatique et mathématiques appliquées et je suis actuellement en stage. On me demande pour la première fois de travailler en VBA pour communiquer avec une application externe.

N'ayant aucune idée de comment faire ça proprement et n'ayant personne pour m'aider dans l'entreprise je me tourne vers vous.

Le but de mon script et de remplir automatiquement un formulaire proposé par l’application externe. Pour cela je copie mes string dans le clipboard (fonction trouvée sur internet), et simule une pression sur CTRL+V puis ENTREE pour remplir le formulaire (non, s'il vous plait, ne vomissez pas). Je réalise cette opération 4 fois avec des strings différentes mais en pratique, seule la dernière string est collée, et est collée 4 fois.

Après pas mal de recherche, il semblerait que les frappes clavier soient réalisées seulement à la toute fin, et donc 4 fois de suite.

Vous trouverez ci-joint un fichier contenant l'entièreté du code, qui n'est vraiment pas très long 🙂

Je vous remercie par avance et votre aide sera grandement appréciée.

Bastien
 

Pièces jointes

Bonjour.
Je pense qu'il vaudrait mieux tout préparer en amont dans un tableau String et copier sa recomposition en un seul String, les éléments y étant séparés par des CrLf, et passer une seule fois la main au bloc notes tout à la fin.
En tout cas cet exemple à l'air de bien marcher :
VB:
Sub test()
Dim DOt As New MSForms.DataObject
DOt.SetText Join(Array("A", "B", "C", ""), vbCrLf)
DOt.PutInClipboard
AppActivate "Bloc-notes"
SendKeys "^V"
End Sub
 
Bonjour,
Je vous remercie pour votre réponse.

En réalité, l'appui sur la touche ENTREE sert à "appuyer" sur le bouton "suivant" du formulaire. J'active Bloc-notes pour mes tests ce qui pouvait porter à confusion. Je n'ai donc pas réussi à faire fonctionner ce que vous m'avez envoyé.

Cependant, en bidouillant un peu j'ai finalement réussi à faire fonctionner le programme initial. Je ne saurais expliquer pourquoi mais en changeant SendKeys "^v" en SendKeys "^v", 5 tout marche !

Merci encore.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…