Attendre qu'une autre Application ait fini son boulot, avant d'entamer une autre proc

YANN-56

XLDnaute Barbatruc
Bonjour à ceux qui passeront par ici,

Pas facile de mettre un titre explicite sur ce sujet! :confused:

1) Je récupère des distances entre deux villes via une requête "...maps.google.fr..."
(Bouton "DESTINATION")

2) Par la suite, en intervenant sur la feuille réceptrice, je rends exploitable le résultat.
(Bouton "DISTANCE")

Cependant je ne peux faire suivre ces deux procédures, car la deuxième intervient trop tôt.
L'écriture sur cette feuille n'est pas encore terminée....

Par l'exemple joint, vous comprendrez certainement.
(Le Bouton "DISTANCE" n'a pas lieu d'être; il n'est là qu'en raison du souci)

Si vous n'attendez pas 2 à 3 secondes avant de cliquer sur ce dernier -> Plantage!!!

Ayant aussi pour but de faire une boucle sur la Feuil1 pour initialiser les destinations habituelles,
je suis complètement coincé. :mad:

Merci d'avance à qui m'aidera à avancer.

Yann
 

Pièces jointes

  • QUESTION.xls
    30.5 KB · Affichages: 71
  • QUESTION.xls
    30.5 KB · Affichages: 64
  • QUESTION.xls
    30.5 KB · Affichages: 69

Hippolite

XLDnaute Accro
Re : Attendre qu'une autre Application ait fini son boulot, avant d'entamer une autre

Bonjour,
Je verrais bien quelquechose comme
Code:
Dim Pause As Single

Pause = 0.1
Start = Timer
Do While Timer < Start + Pause
    DoEvents
Loop
La durée de la pause est fixée par la valeur affectée à Pause
 
G

Guest

Guest
Re : Attendre qu'une autre Application ait fini son boulot, avant d'entamer une autre

Bonjour Yann:)
Hippolyte,
Pierrot:)

Dans le fichier joint, avec une gestion d'évènement sur objet QueryTable qui déactive le bouton de commande, pendant l'interrogation.

Tu peux très bien déclarer la QueryTable avec évènement dans ton userForm. A toi de voir.

Quand à moi je vais me pencher sur HttpRequest pour voir si se serait pas mieux.

A+
 

YANN-56

XLDnaute Barbatruc
Re : Attendre qu'une autre Application ait fini son boulot, avant d'entamer une autre

Bonsoir Hippolite, Pierrot,

Hippolite: J'ai bien pensé à ce "Timer", mais je ne pense pas qu'il soit le plus approprié à mon cas.
Mais c'est de toute façon sympa de ta part.

Pierrot: Je vais tester, et je reviens...

Mais ceci venant de toi, si ton code ne fonctionne pas; cela viendra certainement de moi.

A juste le temps de bidouiller mon Classeur....

Merci, en tous les cas, à vous d'avoir regardé et répondu.

Yann.... A +
 

YANN-56

XLDnaute Barbatruc
Re : Attendre qu'une autre Application ait fini son boulot, avant d'entamer une autre

Bigre! Voici l'ami Hasco que je n'avais pas vu :)

J'ai bien fait de venir!

Je suis bordé à souhait.

Je suis obligé de sortir de XLD pour tester.

Je reviens...

(Elle est où ma caisse à "Merci"?)

Yann
 

YANN-56

XLDnaute Barbatruc
Re : Attendre qu'une autre Application ait fini son boulot, avant d'entamer une autre

Re Hippolite, Pierrot, Hasco,

A noter que c'est un peu le cauchemar dans ma brousse! J'ai des coupures intempestives d'ADSL
Je suis, alors, obligé déteindre l'ordi, de débrancher le modem.
Puis de tout relancer après que ce dernier ait bien voulu établir la connexion!

Plouf! Echec sur toute la ligne: Rien ne marche! (Il y a des moments où l'on se sent vraiment nul...)

Tes lignes de code, Pierrot, je n'ai peut-être pas su où les placer.
Ou la "Feuil2" m'a fichu un trouble.

Hasco, la requête semble faire doublon.
J'ai supprimé la page "RECUP" et l'ai recréée, mais rien n'y a fait...?

Désolé pour ma sottise, mais j'en suis là.

A vous lire, si vous n'avez par perdu patience.

Amicalement.

Yann
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Attendre qu'une autre Application ait fini son boulot, avant d'entamer une autre

Re, bonsoir Hasco:)

En l'état "Feuil2" est le "codename" de la feuille, tu peux remplacer par "Sheets("NomFeuille"), mais le code de l'ami Hasco me semble très interressant...

bonne soirée
@+
 
G

Guest

Guest
Re : Attendre qu'une autre Application ait fini son boulot, avant d'entamer une autre

Re Tous,

Une autre façon de faire plus simple (enfin pour moi):) et plus rapide par HttpRequest
Référencer HtmlObject Library et MSXML X.xx (la v5.o dans le fichier joint)

Le kilométrage récupéré est le premier de la liste des itinéraires (celui dont le détails est affiché)

A+
 

YANN-56

XLDnaute Barbatruc
Re : Attendre qu'une autre Application ait fini son boulot, avant d'entamer une autre

Pierrot, j'ai bien entrevu dans l'idée de Hasco une solution à exploiter,

Mais, puisque jusqu'alors il y a échec,...... je ne sais plus que faire!

Le "Sheets("NomFeuille")", je l'ai bien entendu essayé, sinon bien d'autres inavouables.
(Voire "Do While Worksheets("RECUP").QueryTables(1).Refreshing"

Il n'est pas dans la philosophie du site d'apporter des solutions toutes cuites.

J'en conviens et y participe.

Dans le cas présent je n'espérais qu'être aiguillé.

Mais vu l'imbroglio qui semble être de ma bidouille,
je ne vois pas d'autre solution que d'avoir un Fichier en exemple qui fonctionne.
(Hormis le fait que je commence à penser que cela ne puisse l'être)

Ne doutant pas que vous ayez l'un et l'autre testé vos dires,
je serais particulièrement reconnaissant si vous acceptiez de partager votre bonne issue.

Amicalement, et au plaisir de vous lire.

Yann
 
G

Guest

Guest
Re : Attendre qu'une autre Application ait fini son boulot, avant d'entamer une autre

Re Yann:),
Pierrot:)

J'ai fourni ce me semble un fichier qui fonctionne dans mon dernier post, à moins que tu ne l'ai pas encore vu.

A+
[Edit] je raccroche pour ce soir.

bonne soirée à tous
 

Pierrot93

XLDnaute Barbatruc
Re : Attendre qu'une autre Application ait fini son boulot, avant d'entamer une autre

Re,

Ne doutant pas que vous ayez l'un et l'autre testé vos dires,
Perso pas testé en situation le code que je te proposais....

J'ai fourni ce me semble un fichier qui fonctionne dans mon dernier post, à moins que tu ne l'ai pas encore vu.
Je confirme, code fonctionnel et de belle manière...
 

YANN-56

XLDnaute Barbatruc
Re : Attendre qu'une autre Application ait fini son boulot, avant d'entamer une autre

Pierrot, encore une fois, tu ajoutes la gentillesse à ta compétence,

Je vais éplucher ce que Hasco a proposé, et tenter de comprendre pourquoi
le Label1 de mon USF n'est pas alimenté, car j'ai une erreur ici:

Code:
 If Not .Qry Is Nothing Then Set .Qry = Nothing

Que chez toi cela fonctionne, mais pas chez moi m'intrigue.

Je vais manger un morceau, et par la suite bosser sur le sujet.

Je ne resterai pas sans donner des nouvelles de la suite.

Merci encore pour tout à toi, et à lui.

Bonne fin de soirée,

Yann
 

Pierrot93

XLDnaute Barbatruc
Re : Attendre qu'une autre Application ait fini son boulot, avant d'entamer une autre

Bonjour Yann:), Hasco:)

je parlais du 2ème fichier d'Hasco... mais je viens de tester le 1er, pas de message d'erreur chez moi sur cette ligne...

bonne journée
@+