Code sur saisie auto de donné vers un logiciel
Salut le forum
Permettez que j'aille droit au sujet.
En effet, j'ai le code ci-dessous qui me permet de réaliser une saisie automatique vers un autre interface (word, excel lui-même ou un logiciel...).
Lorsque j'exécute la macro sur word ou excel, l'automatisme de la saisie se fait sans difficulté.
Mais lorsque je tente les même manoeuvres avec notre logiciel, il y'a des disfonctionnements :
la saisie se fait automatiquement mais ne se termine pas : au lieu de 47 données à saisir automatiquement sur notre logiciel, il se limite souvent à 5, 10 ou 15 et le reste sans suite.
Je vous le soumet afin de bénéficier de vos "connaissances magiques".
Sub activation()
'On Error GoTo gestionerreur
AppActivate "NOM DU LOGICIEL ICI"
Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 4)
For i = 3 To 50
SendKeys Cells(i, 4).Value
SendKeys "~"
Next
Exit Sub
gestionerreur:
MsgBox "fichier non ouvert ou réduit dans la barre des tâches : abandon"
End SubN.B: avec ou sans cette partie du code, c'est le même résultat :
Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 4)Bonne compréhension
Bonjour,
A essayer :
Sub activation()
'On Error GoTo gestionerreur
AppActivate "NOM DU LOGICIEL ICI"
Attendre 4
For i = 3 To 50
SendKeys Cells(i, 4).Value
SendKeys "~"
Next
Exit Sub
gestionerreur:
MsgBox "fichier non ouvert ou réduit dans la barre des tâches : abandon"
End Sub
Sub Attendre(Sec%)
Dim Deb&, Fin&
Deb = Timer
Fin = Deb + Sec%
Do Until Timer >= Fin
DoEvents
Loop
End Sub... mais il est probable que chaque Sendkeys nécessite également un appel à Attendre
For i = 3 To 50
SendKeys Cells(i, 4).Value
Attendre 4
SendKeys "~"
Attendre 4
Nextou encore :
For i = 3 To 50
SendKeys Cells(i, 4).Value
SendKeys "~"
Attendre 4
NextEn dernier ressort tu pourras aussi essayer de passer True comme second argument à Senkeys :
SendKeys Cells(i, 4).Value , True
Attendre 4
SendKeys "~", True
Attendre 4A+
Salut galopin01
Merci encore pour votre proposition.
Le seul constat que j'ai pu faire avec le code ci-dessous qui fonctionne bien est le suivant :
au lieu de 3 to 50, il raisonne en 4 to 51 c'est à dire qu'il commence la saisie automatique à partir de D4 pour terminer en D51.
Je voulais savoir autre chose si possible: arrivé au champ 30, je dois faire SHIFT+F3 pour que la saisie puisse se poursuivre.Egalement au 35 champ, je dois faire SHIFT+F6 pour valider l'ouverture du compte. Est-il possible d'intégrer dans l'automatisme SHIFT+F3 et SHIFT+F6 de sorte que je n'ai pas à le faire manuellement?
C'est un outil qui doit être utilisé par plusieurs personnes donc je veux si possible prendre en compte tous les aspects.
Sub activation()
'On Error GoTo gestionerreur
AppActivate "NOM DU LOGICIEL ICI"
For i = 3 To 50
SendKeys Cells(i, 4).Value
attendre 1
SendKeys "~"
attendre 1
Next
Exit Sub
gestionerreur:
MsgBox "fichier non ouvert ou réduit dans la barre des tâches : abandon"
End Sub
Sub attendre(sec%)
Dim deb&, fin&
deb = Timer
fin = deb + sec%
Do Until Timer >= fin
DoEvents
Loop
End SubMerci infiniment
Bonjour,
Là tu me demandes de lire dans le marc de café...
YAKA essayer la méthode expérimentale !
Tu peux essayer de saucissonner ton For...
teste les décalages... En bout de course tu devrais avoir un truc qui ressemble à ça :
Sub activation()
'On Error GoTo gestionerreur
AppActivate "NOM DU LOGICIEL ICI"
For i = 3 To 30
SendKeys Cells(i, 4).Value
attendre 1
SendKeys "~"
attendre 1
Next
SendKeys "+{F3}"
attendre 1
For i = 31 To 35
SendKeys Cells(i, 4).Value
attendre 1
SendKeys "~"
attendre 1
Next
SendKeys "+{F6}"
attendre 1
For i = 36 To 50
SendKeys Cells(i, 4).Value
attendre 1
SendKeys "~"
attendre 1
Next...La suite sans changement.
A+
Salut galopin01
Encore merci pour tes solutions magiques.
Ca marche.
Autres chose :
Dans mon logiciel, à un moment des saisies, une boite de dialogue s'affiche et je dois opérer mon choix en cliquant sur OUI pourtant le curseur active par defaut NON. Je souhaiterai pouvoir automatiser le choix OUI qui peut se faire par la touche TAB ou la flèche directionnelle gauche.
J'ai lu l'aide excel sur les sendkeys mais j'ai pas pu m'en sortir.
Pouvez-vous encore me donner un coup de main?
Cordialement
Bonjour,
Désolé, je n'ai pas de solution si cette boite de dialogue survient à un moment aléatoire du transfert.
A+
Bonjour et merci pour la franchise.
Moi je sais comment gérer la boite de dialogue.
Ce que je veux savoir c'est comment utiliser (automatiser) la touche de TABULATION ou la flèche gauche.
Merci