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
, 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
mais comment l’intégrer dans le code ci-dessous sans perturber son fonctionnement ?
Je reste à votre disposition pour plus d’éclaircissements
J’oubliais également que le code-dessous a un petit soucis :
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.
N'ayant pas pu joindre le fichier, voici le code intégral
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
Code:
SendKeys Range("j7").Value & Chr(13), True
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
Code:
SendKeys Range("j7").Value & Chr(13), True
Je reste à votre disposition pour plus d’éclaircissements
Code:
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
Code:
Next
For I = 7 To 7
SendKeys Range("j7").Value & Chr(13), True
SendKeys "~"
attendre 0.8
Aussi, il n’ya de liste deroulante dans ce champ.
N'ayant pas pu joindre le fichier, voici le code intégral
Code:
Sub activesimple()
Dim I As Integer, MemJ8 As Integer
'On Error GoTo gestionerreur
If MsgBox("Avant de confirmer la saisie automatique, assurez-vous que :" & Chr(10) & Chr(10) & "- Les observations du client issues de la vérification des informations ont été prises en compte," & Chr(10) & "- Vous êtes bien positionné sur le menu ouverture simplifié - Nouveau client,", vbYesNo, "Demande de confirmation") = vbYes Then
AppActivate "MON LOGICIEL"
Sheets("RECUP").Select
'POSITIONNEZ-VOUS SUR LE MENU SIMPLIFIE IGOR SOUHAITE
For I = 4 To 4
attendre 0.5
SendKeys Range("j4").Value & Chr(13), True
attendre 1
Next
For I = 5 To 5
attendre 0.5
SendKeys Range("j5").Value & Chr(13), True
attendre 0.8
Next
For I = 6 To 6
attendre 0.5
SendKeys Cells(I, 10).Value, True
attendre 0.8
Next
For I = 7 To 7
SendKeys Range("j7").Value & Chr(13), True
SendKeys "~"
attendre 0.8
Next
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
'Next
'For I = 23 To 45
'SendKeys Cells(I, 10).Value, True
'attendre 0.5
Next
SendKeys "+{F3}"
attendre 0.8
For I = 46 To 53
SendKeys Cells(I, 10).Value, True
attendre 0.5
SendKeys "~"
attendre 0.8
Next
SendKeys "+{F6}"
attendre 0.8
For I = 54 To 54
SendKeys Cells(I, 10).Value, True
attendre 0.5
SendKeys "~"
attendre 0.8
Next
Exit Sub
gestionerreur:
MsgBox "fichier non ouvert ou réduit dans la barre des tâches : abandon"
End If
End Sub
Sub attendre(sec%)
Dim deb&, fin&
deb = Timer
fin = deb + sec%
Do Until Timer >= fin
DoEvents
Loop
End Sub