Ouverture pages web avec macro excel

cs_ptitbouc Messages postés 5 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 22 septembre 2010 - 20 sept. 2010 à 15:23
cs_ptitbouc Messages postés 5 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 22 septembre 2010 - 22 sept. 2010 à 11:31
bonjour
je voudrai faire un programme avec la macro excel (dans la boite outils) qui ouvre automatiquement les pages web les unes après les autres avec un temps d'attente entre celles ci ... c'est à dire en exemple :

dans fichier excel:
http://www.toto.fr/page1 entrée en ligne 1 par ex.
http://www.toto.fr/page2 entrée en ligne 2 par ex.
http://www.toto.fr/page3 entrée en ligne 3 par ex.
http://www.titi.fr/page1 entrée en ligne 4 par ex.
etc....etc....

donc au lancement de l'éxécution macro
ouvrir la page web du 1er lien en ligne 1 automatiquement
la laisser ouverte 1 mn par exemple
ouvrir la page web du 2ème lien en ligne 2 automatiquement
la laisser ouverte 1 mn par exemple
ouvrir la page web du 3ème lien en ligne 3 automatiquement
la laisser ouverte 1 mn par exemple
....etc...etc

y-a-t'il des déclarations spéciales à faire pour signaler que les chaines de caractères des lignes sont des liens web ?
comment faire pour lire le lien et l'ouvrir par programmation sans un click de la souris ?

merci d'avance de votre aide
cordialement

ptitbouc

5 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
21 sept. 2010 à 09:49
Salut,

un debut de piste:

Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, 
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Sub Demo
   Dim MonURL as String, ReturnVal as Long
   MonURL = "http://www.toto.fr/page1"
   'l'utilisation de ShellExecute aura pour effet d'ouvrir l'URL trouvée, dans le navigateur par defaut de l'utilisateur
   ReturnVal = ShellExecute(0, "open", MonURL, vbNullString, vbNullString, SW_SHOWNORMAL)
End Sub


pour le temps d'attente vas voir la fonction "Timer" dans l'aide VBA, notamment l'exemple.

Salut
0
cs_ptitbouc Messages postés 5 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 22 septembre 2010
21 sept. 2010 à 11:05
bonjour
merci de ton aide ......
je ne pourrai tester cela que dans 2 semaines ....
A+

encore merci

cordialement
ptitbouc
0
cs_ptitbouc Messages postés 5 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 22 septembre 2010
22 sept. 2010 à 09:24
re bonjour
finalement j'ai pu faire un test.
cela fonctionne bien après un petit changement de l'option explicit ...
voici celui avec lequel cela fonctionne:

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

merci encore.... car je n'aurais jamais trouvé tout cela.

1 petit pb cependant:
comment fermer les pages web après chaque affichage car je me retrouve avec toutes les pages ouvertes en mémoire dans le bandeau et quand il y en a 1 centaine ... cela devient laborieux pour fermer tous les onglets...

merci encore et A+
ptitbouc
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
22 sept. 2010 à 11:18
Salut,

tu utilises internet explorer ou un autre navigateur ?

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ptitbouc Messages postés 5 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 22 septembre 2010
22 sept. 2010 à 11:31
salut,

internet explorer

j'ai essayé avec "close" à la place de "open"
après le timer mais sans succès.....

merci
A+
0
Rejoignez-nous