Rapport de message :*
 

Re: temporiser le résultat d'une cellule par rapport à une autre cellule

Titre du sujet : Re: temporiser le résultat d'une cellule par rapport à une autre cellule
par myDearFriend! le 02/02/2009 21:12:05

Bonsoir dhavid, le Forum,

Citation :
dhavid a écrit :
La réalisation que je veux faire comporte plusieurs temporisations de ce type qui peuvent se dérouler en parrallèle, superposées,imbriquées ou en série pour des durées différentes.

-est-il possible que plusieurs temporiation s'écoulent en même temps et soient indépendantes les unes des autres ?

Chaque tâche programmée par une instruction OnTime est indépendante et possède son propre cycle de vie. Les temporisations peuvent donc s'écouler en simultané et/ou se chevaucher.
C'est un des effets intéressants de cette méthode OnTime, mais attention ! Attention car cet effet peut vite devenir pervers et peu maitrisable. Par ailleurs, je n'ai jamais tester le nombre de temporisations maximum simultanées que l'application peut supporter ainsi...
En tout cas, je te conseille vivement de consulter l'article comme indiqué plus haut et voire, de consulter tout ce que tu peux trouver dans l'aide VBA ou sur le net à ce sujet, car ce que tu souhaites faire demande forcément une bonne compréhension et une vraie maitrise de cette méthode.
Ayant déjà eu à jouer avec de tels évènements programmés en cascade, je t'avoue que la chose n'est pas très aisée, loin de là. Je te souhaite bon courage.

Citation :
dhavid a écrit :
-la fonction démare apres la mise à jour manuelle de la feuille. Serait-il possible de changer ce démarrage manu par un démarrage automatique par la mise à jour de la cellule "source" par une formule du type =OU(A3;A4) ? (sans intervention au clavier sur A3 ou A4). Ce seraient le résultat de deux autres tempo elles mêmes résultats de la première tempo.

Dans l'exemple joint précédemment, j'ai usé de l'évènement Change() de la feuille de calcul. Cet évènement se déclenche lors de la modification d'une cellule par l'utilisateur. Un des gros inconvénient avec VBA, c'est qu'on dispose d'une quantité limitée d'évènements déclencheurs.
Déclencher un traitement VBA par le simple recalcul d'une formule n'est malheureusement pas possible (en tout cas de façon simple et sûre).
Il existe bien l'évènement Calculate() par exemple, mais ce dernier n'est malheureusement pas lié à une cible particulière : cela signifie, entre autre, que l'évènement Calculate() se déclenche à chaque recalcul de la feuille, mais on ne peut déterminer l'origine du recalcul et donc, on ne peut savoir si cet évènement est déclenché par telle ou telle formule, dans telle ou telle cellule...

Autant te dire que tu sembles te lancer dans une tâche périlleuse ! Peut-être qu'Excel (un tableur, faut-il le rappeler) n'est pas l'application qu'il convient pour ce type de simulation... En tout cas, c'est mon avis.

Cordialement,