Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Demande d'aide architecture programmation

2 réponses
Avatar
JJK94
Bonjour,
environnement : serveur DDE, Excel 2003, Access 2003

l'objectif à atteindre est le suivant:
j'ai programme Excel qui prend une donnée dans la base de donnée , la
formatte et l'envoie au serveur DDE , qui me retourne après un certain temps
un ensemble de données dans un objet range si celles ci ont changé ou ne me
renvoie rien si pas de changement .
Le problème vient du faite que je suis obligé de sortir de la procédure
Excel qui lit les données de la base données pour que l'évenement
Worksheet_Calculate() correspondant au remplissage par le serveur DDE de
l'objet range , puisse apparaitre.

entre autre , j'ai une instruction
dtm = Now + TimeValue("00:00:03")
Application.OnTime earliesttime:=dtm, procedure:="endwar1", schedule:=True
qui me permet de reprendre la main au bout de 3 secondes si le serveur DDE
ne renvoie rien

Suis-je clair ?

en résumé je constate que quand je suis en attente dans la procédure Excel ,
l'évenement Worksheet_Calculate() n'apparait pas !

En programmation je ne suis pas un spécialiste .

Merci pour votre aide

JJK94

2 réponses

Avatar
Boisgontier
Bonsoir,

Pourquoi ne pas travailler avec DAO ou ADO?

JB
"JJK94" a écrit dans le message de news:

Bonjour,
environnement : serveur DDE, Excel 2003, Access 2003

l'objectif à atteindre est le suivant:
j'ai programme Excel qui prend une donnée dans la base de donnée , la
formatte et l'envoie au serveur DDE , qui me retourne après un certain
temps un ensemble de données dans un objet range si celles ci ont changé
ou ne me renvoie rien si pas de changement .
Le problème vient du faite que je suis obligé de sortir de la procédure
Excel qui lit les données de la base données pour que l'évenement
Worksheet_Calculate() correspondant au remplissage par le serveur DDE de
l'objet range , puisse apparaitre.

entre autre , j'ai une instruction
dtm = Now + TimeValue("00:00:03")
Application.OnTime earliesttime:=dtm, procedure:="endwar1", schedule:=True
qui me permet de reprendre la main au bout de 3 secondes si le serveur DDE
ne renvoie rien

Suis-je clair ?

en résumé je constate que quand je suis en attente dans la procédure Excel
, l'évenement Worksheet_Calculate() n'apparait pas !

En programmation je ne suis pas un spécialiste .

Merci pour votre aide

JJK94





Avatar
LSteph
Bonjour,

Pas sûr d'avoir tout compris :

-Calculate ne réagira que si l'insertion d'une valeur dans la feuille
provoque un recalcul.

-S'il faut pour autant que l'on soit sorti de l'execution d'une
procèdure en cours, peut-être insèrer un DoEvents.

Cordialement.

lSteph

Bonjour,
environnement : serveur DDE, Excel 2003, Access 2003

l'objectif à atteindre est le suivant:
j'ai programme Excel qui prend une donnée dans la base de donnée , la
formatte et l'envoie au serveur DDE , qui me retourne après un certain temps
un ensemble de données dans un objet range si celles ci ont changé ou ne me
renvoie rien si pas de changement .
Le problème vient du faite que je suis obligé de sortir de la procédure
Excel qui lit les données de la base données pour que l'évenement
Worksheet_Calculate() correspondant au remplissage par le serveur DDE de
l'objet range , puisse apparaitre.

entre autre , j'ai une instruction
dtm = Now + TimeValue("00:00:03")
Application.OnTime earliesttime:=dtm, procedure:="endwar1", schedule:=True
qui me permet de reprendre la main au bout de 3 secondes si le serveur DDE
ne renvoie rien

Suis-je clair ?

en résumé je constate que quand je suis en attente dans la procédure Excel ,
l'évenement Worksheet_Calculate() n'apparait pas !

En programmation je ne suis pas un spécialiste .

Merci pour votre aide

JJK94