Fonctionalité de la sendkey : cas de ma macro

zombe

XLDnaute Occasionnel
Bonjour à tous

Je viens vers vous pour de plus amples éclaircissements.
En effet, j'ai automatisé la saisie des informations de mon fichier excel vers notre logiciel.
Malgré le menu d'aide sur la sendkey, j'ai pas eu de réponses satisfaisante voila pourquoi je souhaite me referer à vous afin de trouver des réponses à mes interrogations.
1) Est-il possible de faire "autre chose" (ouvrir d'autre fichier ou faire des saisies manuelles sur d'autre fichiers...) pendant que la macro sendkey est exécutée(en cours de traitement)?
2)J'ai constaté que des fois, que l'exécution de la macro n'active pas le logiciel. pourtant la macro devrait d'abord ouvrir le logiciel avant de reporter les données dessus. ce qui n'est souvent pas le cas. dans la même suite, lorsque je constate cela (que le logiciel n'a pas été activé, je l'active moi et je vois que la macro avait déjà commencé a reporter les informations.
J'aimerai savoir ce qui est à l'origine de cela et si possible comment solutionner ces points soulevés (1 et 2)?
Ci-dessous le code :
Code:
Sub activePack()
'On Error GoTo gestionerreur
If MsgBox("ASSUREZ-VOUS QUE VOTRE", vbYesNo, "Demande de confirmation") = vbYes Then

AppActivate "NOM DU LOGICIEL ICI"

'POSITIONNEZ-VOUS SUR LE MENU SIMPLIFIE IGOR SOUHAITE
For I = 3 To 6
    SendKeys Cells(I, 10).Value, True
    attendre 0.6
    SendKeys "~"
    attendre 1
 Next
    SendKeys "N" & Chr(13), True
    attendre 0.6
    SendKeys "{LEFT}"
    SendKeys "{ENTER}"
    attendre 1
    
For I = 7 To 43
    SendKeys Cells(I, 10).Value, True
    attendre 0.6
    SendKeys "~"
    attendre 1
    
Next
    SendKeys "+{F3}"
    attendre 1
For I = 44 To 51
    SendKeys Cells(I, 10).Value, True
    attendre 0.6
    SendKeys "~"
    attendre 1

Next
    SendKeys "+{F6}"
    attendre 1
    
'For I = 51 To 51
    'SendKeys Cells(I, 10).Value, True
    'attendre 0.6
    'SendKeys "~"
    attendre 1

Exit Sub
gestionerreur:
MsgBox "fichier non ouvert ou réduit dans la barre des tâches : abandon"
End If
End Sub

Sub activesimple()
'On Error GoTo gestionerreur
If MsgBox("ASSUREZ-VOUS QUE VOTRE SESSION", vbYesNo, "Demande de confirmation") = vbYes Then

AppActivate "NOM DU LOGICIEL ICI"

'POSITIONNEZ-VOUS SUR LE MENU SIMPLIFIE IGOR SOUHAITE
For I = 3 To 43
    SendKeys Cells(I, 10).Value, True
    attendre 0.6
    SendKeys "~"
    attendre 1
    
Next
    SendKeys "+{F3}"
    attendre 1
For I = 44 To 51
    SendKeys Cells(I, 10).Value, True
    attendre 0.6
    SendKeys "~"
    attendre 1

Next
    SendKeys "+{F6}"
    attendre 1
    
For I = 52 To 52
    SendKeys Cells(I, 10).Value, True
    attendre 0.6
    SendKeys "~"
    attendre 1
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
Je reste à votre disposition pour de plus amples informations
 

Discussions similaires

Réponses
6
Affichages
237
Réponses
2
Affichages
229

Statistiques des forums

Discussions
312 185
Messages
2 086 010
Membres
103 090
dernier inscrit
Createlier