Personnalisation de mon code sendkey par cellule

Salut le forum

Je reviens vers vous pour mon code sendkey qui se trouve dans le fichier joint.

Je remercie au passage ceux qui ont été à l’origine de sa réalisation.

Il faut noter que le code n’a pas de problème particulier mais il a besoin d’être réadapter a certains comportements de mon logiciel que j’ai decellé.

En effet, j’ai constaté que dans certains champs de mon logiciel il y’a des listes déroulantes.

Le sendkey lorsqu’il arrive dans ces champs met plus de temps pour « coller » la valeur de la cellule excel correspondant.

J’ai l’impression qu’il cherche dans la liste deroulante la valeur correspondant a celle de la cellule excel ce qui lui prend plus de temps.

En recherchant une solution, j’ai vu que si on lui demande de saisir le montant comme ce code le fait

SendKeys Range("j7").Value & Chr(13), True

, il ne dure pas dans le champ.

De J4 :J7, j’ai pu adapter cette partie du code à ma convenance.

Le code ci-dessous comportant des conditions, je ne sais pas comment le scinder pour la valeur de J13. Il faut noter que le champ de mon logiciel ou doit être saisie la valeur de J13 comporte une liste deroulante. Je souhaite donc demander au sendkey de saisir

SendKeys Range("j7").Value & Chr(13), True

mais comment l’intégrer dans le code ci-dessous sans perturber son fonctionnement ?

Je reste à votre disposition pour plus d’éclaircissements

For I = 8 To 45
' Si I = 8 alor on mémorise la valeur de la cellule
If I = 8 Then MemJ8 = Range("J8").Value
' Si I = 16 ou 17
If I = 17 Or I = 18 Then
' Si la veleur mémorisée est 3
If MemJ8 = 3 Then
' On inscrit le nom et le prénom du mari
SendKeys Cells(I, 10).Value, True
attendre 0.5

SendKeys "~"
attendre 0.8

End If
Else
' Si I à une autre valeur que 16 ou 17
SendKeys Cells(I, 10).Value, True
attendre 0.5

SendKeys "~"
attendre 0.8

End If

J’oubliais également que le code-dessous a un petit soucis :

Next
For I = 7 To 7
SendKeys Range("j7").Value & Chr(13), True
SendKeys "~"
attendre 0.8

Quand bien même la valeur de j7 est vide (cellule toujours vide), il met plus de temps avant de quitter.

Aussi, il n’ya de liste deroulante dans ce champ.

38sendkey-prob.xlsm (18.69 Ko)

Bonjour Zombe le forum

tu penses que cela c'est du code ???

For I = 4 To 4

attendre 0.5

SendKeys Range("j4").Value & Chr(13), True

attendre 1

Next

cela ressemble plus à du bricolage à mon avis, pourquoi n'utiliser que des sendkeys??? bref je ne sais pas ce que tu veux obtenir et surtout en partant de quoi, mais utiliser que des sendkeys c'est pas la solution et d'ailleurs tu arrives toi même à rencontrer des soucis bien que tes copies ne concerne que 50 lignes tout au plus.

En clair si on savait exactement de quoi tu parts le fichier et les explications, et à quoi tu dois arriver je pense qu'une vrai macro serait préférable

a+

papou

Salut Paritec

Merci pour ton feedback.

Permettez que je vous resitue le contexte de mon sujet.

En effet, je part des données d'un fichier excel (plage J4:J54 voir fichier joint précedemment) pour renseigner mon logiciel.

Pour ne pas devoir saisir une 2è fois les même informations dans mon logiciel, j'ai souhaité qu'on me propose une solution qui permettra de transferer les données d'excel vers le logiciel.

Il faut noter que pour des mesures de sécurité, notre service informatique ne souhaite pas des connexions avec des logiciel externes.

Ayant posté le sujet dans le forum, j'ai reçu une proposition (dont le sendkey). Il fonctionne mais pas rassurant à 80% voir 100%.

Voila pourquoi je cherche des solution pour le rendre plus fonctionnel.

Vous dites

paritec a écrit :

tu penses que cela c'est du code ???

For I = 4 To 4

attendre 0.5

SendKeys Range("j4").Value & Chr(13), True

attendre 1

Next

Je suis d'accord avec vous. Je tatonne de mon coté pour voir ce que ca va donner mais je ne reussi pas.

Je reste à votre disposition pour des complements d'informations tout en espérant que vous trouverez une solution à mon cas.

Rechercher des sujets similaires à "personnalisation mon code sendkey"