Vba fermer page web aprés 57 secondes

Signaler
Messages postés
6
Date d'inscription
vendredi 6 janvier 2012
Statut
Membre
Dernière intervention
7 janvier 2012
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
bonjour,
windows vista, mozilla

j'ai ce code:


Range("D6").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 5
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
'qui marche très bien
je voudrais que 157 secondes après son ouverture, cette page web se ferme.
que dois-je mettre a la suite de mon texte pour que cela fonctionne, sachant qu' a la suite une autre page web sera ouverte par ma macro.
Merci aux spécialistes qui se pencheront sur ce problème, moi je cale , je n'ai pas assez de connaissances.
@+

13 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Bonjour,

le plus simple parait ici de zigouiller dans le cache, à l'aide de la fonction DeleteUrlCacheEntry de la librairie wininet.dll de l'api de windows

C'est ce que je ferais, peronnellement.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Ah oui !
Pour le moment auquel "zigouiller" ====>> utilisation de Application.Ontime (à lire dans ton aide VBA)


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
6
Date d'inscription
vendredi 6 janvier 2012
Statut
Membre
Dernière intervention
7 janvier 2012

re bonsoir,
je suis novice, et je n'ai rien compris a ta réponse.
j'ai ce comme code:

Range("D6").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 5
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime

que doisje rajouter stp (ou supprimer)
Merci
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Je comprends ta difficulté de mise en oeuvre du fait que tu es novice.
Je comprends par contre moins facilement ce paradoxe entre le but recherché (relativement évolué) et le caractère novice.
De mes deux réponses, l'une (utilisation d'une fonction de l'API de Windows) est peut-être encore difficile pour un novice, en effet.
L'autre (Application.Ontime) est par contre totalement à ta portée et parfaitement exposée dans ton aide VBA et j'aimerais que tu fasses au moins un effort en ce qui concerne son utilisation. Pardonne-moi donc, mais ce ne sera qu'après avoir constaté cet effort-là que je complèterai par l'utilisation de la fonction de l'Api de Windows.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
6
Date d'inscription
vendredi 6 janvier 2012
Statut
Membre
Dernière intervention
7 janvier 2012

re bonjour,
je suis prêt a faire n'importe quel effort pour que je puisse avancer, même a travailler 25 heures par jour si c'était possible.
la syntaxe de début de ma macro a été faite automatiquement par mon ordinateur.
moi seul , je n'aurai pas mis deux mots.cela pour répondre a ton interrogation sur paradoxe je sais pas quoi ci dessus?
Maintenant tu me parle d' application on time oupsssssss
c'est quoi? déjà que je ne parle pas un mot d'anglais.
A moins que tu n'en connaisse pas plus que moi.
Merci pour tes réponses qui ne mon pas encore servies , mais l'espoir fait vivre.
sans rancune
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Ouvre donc ton aide VBA sur le mot "Ontime" !
C'est "dur", cela ?
A moins que tu n'en connaisse pas plus que moi.
Merci pour tes réponses qui ne mon pas encore servies , mais l'espoir fait vivre.

Sans commentaires ! ===>> je te laisse le soin d'apprécier !

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Et bienvenu sur ce forum, en t'invitant toutefois à lire le commentaire qui accompagne mon profil !
Tu comprendras vite que je ne suis pas du genre à résoudre un problème en "servant tout cuit" un bout de code qui ne sera que copié/collé .
Le développement, c'est autre chose que ce geste simpliste.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
6
Date d'inscription
vendredi 6 janvier 2012
Statut
Membre
Dernière intervention
7 janvier 2012

re bonjour
tu vois, pour toi tout est évident
tu est le plus fort , mais a aucun moment tu ne te met au niveau du novice, cela me rappelle le boulot. beurk!!!
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Mets-toi vite au niveau du novice, donc ===>> ouvre (bis repetita) ton aide VBA sur le mot OnTime !!!
Bonne chance dans tes "approches" !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
6
Date d'inscription
vendredi 6 janvier 2012
Statut
Membre
Dernière intervention
7 janvier 2012

hello, jai ouvert ce que tu dit;
on a peu etre pas le même texte de vba
je ne vois pas ou l'on parle de fermeture de page web la dedans.
moi a l'affichage j'ai cela

Référence du développeur Excel
Application.OnTime, méthode
Cette méthode programme l'exécution d'une procédure à un moment précis (soit à une heure précise soit après l'écoulement d'un délai précis).
Syntaxe

expression.OnTime(LePlutTôt, Procédure, LePlusTard, Planification)

expression Variable qui représente un objet Application.

Paramètres

Nom Obligatoire/Facultatif Type de données Description
LePlutTôt Obligatoire Variante Heure à laquelle vous voulez que la procédure s'exécute.
Procédure Obligatoire Chaîne Nom de la procédure à exécuter.
LePlusTard Facultatif Variante Heure maximale à laquelle la procédure peut être exécutée. Par exemple, si vous affectez à l'argument LePlusTard la valeur LePlutTôt + 30 et que Microsoft Excel n'est pas en mode Ready, Copy, Cut ou Find à l'heure LePlutTôt, car une autre procédure est en cours d'exécution, Microsoft Excel attendra la fin de la procédure pendant 30 secondes. Si Microsoft Excel ne se trouve pas en mode Ready dans les 30 secondes, la procédure ne sera pas exécutée. Si vous ne spécifiez pas cet argument, Microsoft Excel attendra jusqu'à ce que la procédure puisse être exécutée.
Planification Facultatif Variante Cet argument a la valeur True pour programmer une nouvelle procédure OnTime. Il a la valeur False pour effacer une procédure précédemment définie. La valeur par défaut est True.

Remarques


Utilisez Now + TimeValue(time) pour programmer une procédure à exécuter après un certain délai (à partir de maintenant). Utilisez TimeValue(time) pour programmer une procédure à exécuter à un moment précis.


Exemple


Cet exemple montre comment exécuter my_Procedure dans 15 secondes.

Visual Basic pour Applications
Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"

Cet exemple montre comment exécuter my_Procedure à 17 heures.

Visual Basic pour Applications
Application.OnTime TimeValue("17:00:00"), "my_Procedure"

Cet exemple montre comment annuler le paramétrage de OnTime de l'exemple précédent.

Visual Basic pour Applications
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="my_Procedure", Schedule:=False


© 2006 Microsoft Corporation. Tous droits réservés.



Voir aussi
Application, objet
Membres de l'objet Application


voila désolé , tu doit te desespérer moi moi je n'y arrive pas.
Messages postés
1
Date d'inscription
samedi 7 janvier 2012
Statut
Membre
Dernière intervention
7 janvier 2012

Bonjour, visiblement je vois bien que tu ne comprends pas.
il serait plus simple pour ceux qui te répondent de te dire dans un langage normal , va la va la etc.. en FRANCAIS
non on préfère employer des expressions du monde des connaisseurs , ca croit en mettre plein la vue , en réalité il ne servent a rien , s'il le faut il n'en savent pas plus que toi.
ils préfèrent passer trois heures a te dire " mais tu es complétement ... que de réellement t'aider.
comme tu disais moi aussi a mon travail on a des "diplômés" qui on le niveau requis pour occuper un poste mais qui en réalité ne font pas la différence entre un sac de farine et une clé a molette.
Laisse tomber ou va voir ailleurs , tu trouveras des gens compétents qui eux ont vraiment envie de t'aider.
chez nous les mecs comme cela, on appelle cela de la bouse.
Bonne chance car pour ma part je n'ai pas plus de connaissances que toi , mais si tel etait le cas je t'aurais dépanné (peut être en deux minutes), avec une petite syntaxe , mais cela il faut la connaitre cette syntaxe.
Tu ne l'a connais et eux non plus .
Aller bonne chance.
Messages postés
6
Date d'inscription
vendredi 6 janvier 2012
Statut
Membre
Dernière intervention
7 janvier 2012

salut
Enfin quelqu'un qui se met a ma place. Merci
Moi jai ce code qui marche sous vba (je crois)

dans une feuille excel
macro


Range("D5").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 5
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime

il me faudrait un bout de code pour fermer le lien qui se trouve dans la cellule D5


je voudrais une aide concrete , en réalité celui qui s'y connait devrait pouvoir faire cela en trente secondes, moi cela fait plusieurs jours que je cherche, mais sans résultats.
Le code ci-dessus a été généré par mon ordi et ouvre bien la page que je veux.
Merci a ceux qui m'aideront, les autres sans rancune.
@plus tard
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Alors :
1) à ce drôlet de jackwysock ! va donc voir plus loin (dans la cour maternelle, probablement ).
2) à kiki27200 :
ce qui est désespérant, c'est que tu passes énormément de temps à blablater et insuffisamment à lire ce qui t'est dit !
Si tu t'y étais concentré un peu, tu te serais rendu compte de ce que :
- ton problème comprends deux parties :
--- la première est quand lancer une opération (quelle qu'elle soit, appelons-la ici toto) . Et c'est là le seul rôle de Application.Ontime. Rien, à ce stade, à voir avec le reste
--- la seconde est (une fois la première maîtrisée et pas avant) : écrire les instructions de l'opération toto (et je t'ai dit plus haut que je n'y viendrai que lorsque tu auras maitrisé Application.Ontime) et les lancer.

Alors et une dernière fois : Maîtrises-tu maintenant l'utilisation de Application.Ontime ?
As-tu au moins, par exemple, tenté un simple Msgbox "coucou" à l'issue de 15 secondes ?
Si oui : on continue. Si non : montre ce que tu as tenté à ce seul stade !



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient