Excel est ouvert
Internet Explorer est ouvert
Ce que je veux:
Je souhaite activer la page Internet Explorer, et sur la page active
faire un F5 (rafraichir) deux fois de suite avec 3 secondes entre
chaque F5.(j'ai un compteur qui change apr=E8s un F5)
Je n'arrive pas =E0 le faire, l'activation semble OK mais F5 une fois
sur la page IE ne fonctionne pas,
Pouvez vous m'aider
Je souhaite un "for x =3D 1 to 2" ce qui permettra de la faire 3 fois ou
plus si besoin
Merci et au plaisir de vous lire
Bien amicalement =E0 nos plus gentils contributeurs
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Garette
Bonsoir,
Pour que ça fonctionne avec SenKeys, il faut que les n fois {F5} soient dans des procédures différentes. Il faut utiliser onTime. Voici un exemple qui rafraichit toutes les 3 secondes
Pour le onTime j'ai repris les infos de http://www.excelabo.net/xl/tempo.php#OnTime. Je n'arrivais plus à retrouver la procédure pour arreter (c'est important de pouvoir l'arreter).
-------------------- Public RunWhen As Variant 'On a besoin de cette variable pour arreter
Sub Demarrage() 'Execute la macro Montest dans 3 secondes RunWhen = Now + TimeValue("00:00:03") Application.OnTime RunWhen, "Montest" End Sub
Sub Montest() 'Active IE, rafraichit IE et relance la macro Demarrage (pour recommencer dans 3 secondes) AppActivate ("Microsoft Internet Explorer") SendKeys "{F5}", True Application.Run "Demarrage" End Sub
Sub ArreteTout() 'Permet d'arreter la "boucle" de 3 secondes On Error Resume Next Application.OnTime RunWhen, "Montest", , False End Sub
Bonsoir,
Pour que ça fonctionne avec SenKeys, il faut que les n fois {F5} soient dans
des procédures différentes.
Il faut utiliser onTime.
Voici un exemple qui rafraichit toutes les 3 secondes
Pour le onTime j'ai repris les infos de
http://www.excelabo.net/xl/tempo.php#OnTime. Je n'arrivais plus à retrouver
la procédure pour arreter (c'est important de pouvoir l'arreter).
--------------------
Public RunWhen As Variant 'On a besoin de cette variable pour arreter
Sub Demarrage() 'Execute la macro Montest dans 3 secondes
RunWhen = Now + TimeValue("00:00:03")
Application.OnTime RunWhen, "Montest"
End Sub
Sub Montest() 'Active IE, rafraichit IE et relance la macro Demarrage (pour
recommencer dans 3 secondes)
AppActivate ("Microsoft Internet Explorer")
SendKeys "{F5}", True
Application.Run "Demarrage"
End Sub
Sub ArreteTout() 'Permet d'arreter la "boucle" de 3 secondes
On Error Resume Next
Application.OnTime RunWhen, "Montest", , False
End Sub
Pour que ça fonctionne avec SenKeys, il faut que les n fois {F5} soient dans des procédures différentes. Il faut utiliser onTime. Voici un exemple qui rafraichit toutes les 3 secondes
Pour le onTime j'ai repris les infos de http://www.excelabo.net/xl/tempo.php#OnTime. Je n'arrivais plus à retrouver la procédure pour arreter (c'est important de pouvoir l'arreter).
-------------------- Public RunWhen As Variant 'On a besoin de cette variable pour arreter
Sub Demarrage() 'Execute la macro Montest dans 3 secondes RunWhen = Now + TimeValue("00:00:03") Application.OnTime RunWhen, "Montest" End Sub
Sub Montest() 'Active IE, rafraichit IE et relance la macro Demarrage (pour recommencer dans 3 secondes) AppActivate ("Microsoft Internet Explorer") SendKeys "{F5}", True Application.Run "Demarrage" End Sub
Sub ArreteTout() 'Permet d'arreter la "boucle" de 3 secondes On Error Resume Next Application.OnTime RunWhen, "Montest", , False End Sub
SylVBA
Bonsoir Garette et merci pour ton code
Ilmarche
Pourquoi dans des procédures différentes ?
Comment faire au bout de 3 ou 4 fois pour fermer IE ?
Désolée de ne pas avoir répondu avant, masi j'étais en week end (bien mérité) et pas de connexion
Avec mes remerciements
Sylvie
Bonsoir,
Pour que ça fonctionne avec SenKeys, il faut que les n fois {F5} soient dans des procédures différentes. Il faut utiliser onTime. Voici un exemple qui rafraichit toutes les 3 secondes
Pour le onTime j'ai repris les infos de http://www.excelabo.net/xl/tempo.php#OnTime. Je n'arrivais plus à retro uver la procédure pour arreter (c'est important de pouvoir l'arreter).
-------------------- Public RunWhen As Variant 'On a besoin de cette variable pour arreter
Sub Demarrage() 'Execute la macro Montest dans 3 secondes RunWhen = Now + TimeValue("00:00:03") Application.OnTime RunWhen, "Montest" End Sub
Sub Montest() 'Active IE, rafraichit IE et relance la macro Demarrage (po ur recommencer dans 3 secondes) AppActivate ("Microsoft Internet Explorer") SendKeys "{F5}", True Application.Run "Demarrage" End Sub
Sub ArreteTout() 'Permet d'arreter la "boucle" de 3 secondes On Error Resume Next Application.OnTime RunWhen, "Montest", , False End Sub
Bonsoir Garette et merci pour ton code
Ilmarche
Pourquoi dans des procédures différentes ?
Comment faire au bout de 3 ou 4 fois pour fermer IE ?
Désolée de ne pas avoir répondu avant, masi j'étais en week end
(bien mérité) et pas de connexion
Avec mes remerciements
Sylvie
Bonsoir,
Pour que ça fonctionne avec SenKeys, il faut que les n fois {F5} soient dans
des procédures différentes.
Il faut utiliser onTime.
Voici un exemple qui rafraichit toutes les 3 secondes
Pour le onTime j'ai repris les infos de
http://www.excelabo.net/xl/tempo.php#OnTime. Je n'arrivais plus à retro uver
la procédure pour arreter (c'est important de pouvoir l'arreter).
--------------------
Public RunWhen As Variant 'On a besoin de cette variable pour arreter
Sub Demarrage() 'Execute la macro Montest dans 3 secondes
RunWhen = Now + TimeValue("00:00:03")
Application.OnTime RunWhen, "Montest"
End Sub
Sub Montest() 'Active IE, rafraichit IE et relance la macro Demarrage (po ur
recommencer dans 3 secondes)
AppActivate ("Microsoft Internet Explorer")
SendKeys "{F5}", True
Application.Run "Demarrage"
End Sub
Sub ArreteTout() 'Permet d'arreter la "boucle" de 3 secondes
On Error Resume Next
Application.OnTime RunWhen, "Montest", , False
End Sub
Comment faire au bout de 3 ou 4 fois pour fermer IE ?
Désolée de ne pas avoir répondu avant, masi j'étais en week end (bien mérité) et pas de connexion
Avec mes remerciements
Sylvie
Bonsoir,
Pour que ça fonctionne avec SenKeys, il faut que les n fois {F5} soient dans des procédures différentes. Il faut utiliser onTime. Voici un exemple qui rafraichit toutes les 3 secondes
Pour le onTime j'ai repris les infos de http://www.excelabo.net/xl/tempo.php#OnTime. Je n'arrivais plus à retro uver la procédure pour arreter (c'est important de pouvoir l'arreter).
-------------------- Public RunWhen As Variant 'On a besoin de cette variable pour arreter
Sub Demarrage() 'Execute la macro Montest dans 3 secondes RunWhen = Now + TimeValue("00:00:03") Application.OnTime RunWhen, "Montest" End Sub
Sub Montest() 'Active IE, rafraichit IE et relance la macro Demarrage (po ur recommencer dans 3 secondes) AppActivate ("Microsoft Internet Explorer") SendKeys "{F5}", True Application.Run "Demarrage" End Sub
Sub ArreteTout() 'Permet d'arreter la "boucle" de 3 secondes On Error Resume Next Application.OnTime RunWhen, "Montest", , False End Sub
Garette
Bonjour,
En fait, le déroulement d'une macro est séquentiel, chaque instruction s'execute l'une apres l'autre. Les SendKeys eux s'executent tous d'un coup. Exemples ci-dessous :
Sub test1() Range("C3").Select SendKeys "toto {ENTER}" End Sub
Sub test2() Range("C3").Select SendKeys "toto {ENTER}" Range("B4").Select SendKeys "titi {ENTER}" End Sub
Test1 ça fonctionne. Test2, on a "toto" en B4 et "titi" en B5. Comme si les Range.Select s'executaient en premier et ensuite les 2 SendKeys. En séparant les procédures avec un OnTime, on isole le SendKeys.
-------------------------- Pour la fermeture d'IE. Tu as plusieurs IE car plusieurs utilisations de Shell ? Voici un bout de code qui ouvre et un qui ferme IE
Public X 'Il faut déclarer X en Public car on en a besoin dans la procedure de fermeture
Sub LancerIE() 'Ouvre IE et mémorise "l'identificateur (ID) de la tâche exécutée" MonID = Shell("C:Program FilesInternet Exploreriexplore.exe") End Sub
Sub FermerIE() AppActivate MonID 'Active l'application mémorisée et la ferme (ALT+F4) SendKeys "%+{F4}" End Sub
Attention, si on lance X fois la procédure LanceIE, on ouvre X sessions d'IE mais seul le dernier MonID sera mémorisé. Donc on ne pourra fermer que la derniere session lancée ! Il doit etre possible de mémoriser dans un tableau toutes les sessions ouvertes.
--------------------------- Il également possible de lancer directement la page souhaitée à chaque fois plutot que de la rafraichir. Par Exemple : Sub OuvreDevises() X = Shell("C:Program FilesInternet Exploreriexplore.exe http://fr.finance.yahoo.com/q/bc?s=USDEUR%3dX&t=d&c=") End Sub
Et on peut refermer cette session par FermeIE()
Garette
Bonjour,
En fait, le déroulement d'une macro est séquentiel, chaque instruction
s'execute l'une apres l'autre.
Les SendKeys eux s'executent tous d'un coup.
Exemples ci-dessous :
Sub test1()
Range("C3").Select
SendKeys "toto {ENTER}"
End Sub
Sub test2()
Range("C3").Select
SendKeys "toto {ENTER}"
Range("B4").Select
SendKeys "titi {ENTER}"
End Sub
Test1 ça fonctionne.
Test2, on a "toto" en B4 et "titi" en B5. Comme si les Range.Select
s'executaient en premier et ensuite les 2 SendKeys.
En séparant les procédures avec un OnTime, on isole le SendKeys.
--------------------------
Pour la fermeture d'IE. Tu as plusieurs IE car plusieurs utilisations de
Shell ?
Voici un bout de code qui ouvre et un qui ferme IE
Public X 'Il faut déclarer X en Public car on en a besoin dans la procedure
de fermeture
Sub LancerIE()
'Ouvre IE et mémorise "l'identificateur (ID) de la tâche exécutée"
MonID = Shell("C:Program FilesInternet Exploreriexplore.exe")
End Sub
Sub FermerIE()
AppActivate MonID 'Active l'application mémorisée et la ferme (ALT+F4)
SendKeys "%+{F4}"
End Sub
Attention, si on lance X fois la procédure LanceIE, on ouvre X sessions d'IE
mais seul le dernier MonID sera mémorisé.
Donc on ne pourra fermer que la derniere session lancée !
Il doit etre possible de mémoriser dans un tableau toutes les sessions
ouvertes.
---------------------------
Il également possible de lancer directement la page souhaitée à chaque fois
plutot que de la rafraichir.
Par Exemple :
Sub OuvreDevises()
X = Shell("C:Program FilesInternet Exploreriexplore.exe
http://fr.finance.yahoo.com/q/bc?s=USDEUR%3dX&t=d&c=")
End Sub
En fait, le déroulement d'une macro est séquentiel, chaque instruction s'execute l'une apres l'autre. Les SendKeys eux s'executent tous d'un coup. Exemples ci-dessous :
Sub test1() Range("C3").Select SendKeys "toto {ENTER}" End Sub
Sub test2() Range("C3").Select SendKeys "toto {ENTER}" Range("B4").Select SendKeys "titi {ENTER}" End Sub
Test1 ça fonctionne. Test2, on a "toto" en B4 et "titi" en B5. Comme si les Range.Select s'executaient en premier et ensuite les 2 SendKeys. En séparant les procédures avec un OnTime, on isole le SendKeys.
-------------------------- Pour la fermeture d'IE. Tu as plusieurs IE car plusieurs utilisations de Shell ? Voici un bout de code qui ouvre et un qui ferme IE
Public X 'Il faut déclarer X en Public car on en a besoin dans la procedure de fermeture
Sub LancerIE() 'Ouvre IE et mémorise "l'identificateur (ID) de la tâche exécutée" MonID = Shell("C:Program FilesInternet Exploreriexplore.exe") End Sub
Sub FermerIE() AppActivate MonID 'Active l'application mémorisée et la ferme (ALT+F4) SendKeys "%+{F4}" End Sub
Attention, si on lance X fois la procédure LanceIE, on ouvre X sessions d'IE mais seul le dernier MonID sera mémorisé. Donc on ne pourra fermer que la derniere session lancée ! Il doit etre possible de mémoriser dans un tableau toutes les sessions ouvertes.
--------------------------- Il également possible de lancer directement la page souhaitée à chaque fois plutot que de la rafraichir. Par Exemple : Sub OuvreDevises() X = Shell("C:Program FilesInternet Exploreriexplore.exe http://fr.finance.yahoo.com/q/bc?s=USDEUR%3dX&t=d&c=") End Sub
Et on peut refermer cette session par FermeIE()
Garette
Oliv'
*SylVBA que je salut a écrit *:
Bonsoir Garette et merci pour ton code
Ilmarche
Pourquoi dans des procédures différentes ?
Comment faire au bout de 3 ou 4 fois pour fermer IE ?
tu pourrais aussi controller IE directement
Set ie = CreateObject("internetexplorer.application")
ici un lien http://www.rgagnon.com/pbdetails/pb-0202.html
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Outlook : http://faq.outlook.free.fr/ les archives : http://groups.google.com/group/microsoft.public.fr.outlook Dernière chance http://www.outlookcode.com/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*SylVBA <sylvie.laurent82@wanadoo.fr> que je salut a écrit *:
Bonsoir Garette et merci pour ton code
Ilmarche
Pourquoi dans des procédures différentes ?
Comment faire au bout de 3 ou 4 fois pour fermer IE ?
tu pourrais aussi controller IE directement
Set ie = CreateObject("internetexplorer.application")
ici un lien
http://www.rgagnon.com/pbdetails/pb-0202.html
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Comment faire au bout de 3 ou 4 fois pour fermer IE ?
tu pourrais aussi controller IE directement
Set ie = CreateObject("internetexplorer.application")
ici un lien http://www.rgagnon.com/pbdetails/pb-0202.html
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Outlook : http://faq.outlook.free.fr/ les archives : http://groups.google.com/group/microsoft.public.fr.outlook Dernière chance http://www.outlookcode.com/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~