La macro suivante permet d'afficher l'heure puis en fonction de la valeur
d'une cellule, elle execute un calcul et affiche un message (MErci aux
membres des forums )
Dim temps
Sub majHeure()
Sheets("feuil1").Calculate
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End Sub
Sub auto_open()
majHeure
End Sub
Sub auto_close()
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:=False
End Sub
ça marche, mais j'ai appris csur ce forum que le calcul qui suite relance le
calculate()
Private Sub Worksheet_Calculate()
If [A23] = 1 Then
MsgBox "coucou"
[A27] = [B27] * [C27] """"""""""c'est lui qui relance qu'il soit avant ou
après msgbox, si je l'enlève, plus de boucle :) """"""""""""""""
End If
End Sub
Hors je ne souhaite pas pa que ça tourne en boucle peandant tout le temps
que la condition est vrai. Néanmoins, je souhaite garder mon calcul. Je dois
être sûr que msgbox s'affiche 1 seule fois (même on clic sur Ok et que A23
est tjs égal à 1, il ne doit pas réapparaitre), et que le calcul s'effectue
une seule fois.
Ya t-il une methode qui permet d'éviter cette boucle?? Arpès tout , je ne
lui ai rien demandé...
http://cjoint.com/?ccairxroxi
Merci à tous
PS: les cellules "intermédiaires" sont volontaires
regarde la propriété de l'application, "EnableEvents" je crois bien que c'est ce que tu recherche.
isabelle
Bonjour,
La macro suivante permet d'afficher l'heure puis en fonction de la valeur d'une cellule, elle execute un calcul et affiche un message (MErci aux membres des forums )
Dim temps Sub majHeure() Sheets("feuil1").Calculate temps = Now + TimeValue("00:00:1") Application.OnTime temps, "majHeure" End Sub Sub auto_open() majHeure End Sub Sub auto_close() On Error Resume Next Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
ça marche, mais j'ai appris csur ce forum que le calcul qui suite relance le calculate()
Private Sub Worksheet_Calculate() If [A23] = 1 Then MsgBox "coucou" [A27] = [B27] * [C27] """"""""""c'est lui qui relance qu'il soit avant ou après msgbox, si je l'enlève, plus de boucle :) """"""""""""""""
End If
End Sub
Hors je ne souhaite pas pa que ça tourne en boucle peandant tout le temps que la condition est vrai. Néanmoins, je souhaite garder mon calcul. Je dois être sûr que msgbox s'affiche 1 seule fois (même on clic sur Ok et que A23 est tjs égal à 1, il ne doit pas réapparaitre), et que le calcul s'effectue une seule fois.
Ya t-il une methode qui permet d'éviter cette boucle?? Arpès tout , je ne lui ai rien demandé...
http://cjoint.com/?ccairxroxi
Merci à tous PS: les cellules "intermédiaires" sont volontaires
bonjour Shaulva,
regarde la propriété de l'application, "EnableEvents"
je crois bien que c'est ce que tu recherche.
isabelle
Bonjour,
La macro suivante permet d'afficher l'heure puis en fonction de la valeur
d'une cellule, elle execute un calcul et affiche un message (MErci aux
membres des forums )
Dim temps
Sub majHeure()
Sheets("feuil1").Calculate
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End Sub
Sub auto_open()
majHeure
End Sub
Sub auto_close()
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:úlse
End Sub
ça marche, mais j'ai appris csur ce forum que le calcul qui suite relance le
calculate()
Private Sub Worksheet_Calculate()
If [A23] = 1 Then
MsgBox "coucou"
[A27] = [B27] * [C27] """"""""""c'est lui qui relance qu'il soit avant ou
après msgbox, si je l'enlève, plus de boucle :) """"""""""""""""
End If
End Sub
Hors je ne souhaite pas pa que ça tourne en boucle peandant tout le temps
que la condition est vrai. Néanmoins, je souhaite garder mon calcul. Je dois
être sûr que msgbox s'affiche 1 seule fois (même on clic sur Ok et que A23
est tjs égal à 1, il ne doit pas réapparaitre), et que le calcul s'effectue
une seule fois.
Ya t-il une methode qui permet d'éviter cette boucle?? Arpès tout , je ne
lui ai rien demandé...
http://cjoint.com/?ccairxroxi
Merci à tous
PS: les cellules "intermédiaires" sont volontaires
regarde la propriété de l'application, "EnableEvents" je crois bien que c'est ce que tu recherche.
isabelle
Bonjour,
La macro suivante permet d'afficher l'heure puis en fonction de la valeur d'une cellule, elle execute un calcul et affiche un message (MErci aux membres des forums )
Dim temps Sub majHeure() Sheets("feuil1").Calculate temps = Now + TimeValue("00:00:1") Application.OnTime temps, "majHeure" End Sub Sub auto_open() majHeure End Sub Sub auto_close() On Error Resume Next Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
ça marche, mais j'ai appris csur ce forum que le calcul qui suite relance le calculate()
Private Sub Worksheet_Calculate() If [A23] = 1 Then MsgBox "coucou" [A27] = [B27] * [C27] """"""""""c'est lui qui relance qu'il soit avant ou après msgbox, si je l'enlève, plus de boucle :) """"""""""""""""
End If
End Sub
Hors je ne souhaite pas pa que ça tourne en boucle peandant tout le temps que la condition est vrai. Néanmoins, je souhaite garder mon calcul. Je dois être sûr que msgbox s'affiche 1 seule fois (même on clic sur Ok et que A23 est tjs égal à 1, il ne doit pas réapparaitre), et que le calcul s'effectue une seule fois.
Ya t-il une methode qui permet d'éviter cette boucle?? Arpès tout , je ne lui ai rien demandé...
http://cjoint.com/?ccairxroxi
Merci à tous PS: les cellules "intermédiaires" sont volontaires
JB
On 2 fév, 00:11, Shaulva wrote:
Bonjour,
La macro suivante permet d'afficher l'heure puis en fonction de la valeur d'une cellule, elle execute un calcul et affiche un message (MErci aux membres des forums )
Dim temps Sub majHeure() Sheets("feuil1").Calculate temps = Now + TimeValue("00:00:1") Application.OnTime temps, "majHeure" End Sub Sub auto_open() majHeure End Sub Sub auto_close() On Error Resume Next Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
ça marche, mais j'ai appris csur ce forum que le calcul qui suite relan ce le calculate()
Private Sub Worksheet_Calculate() If [A23] = 1 Then MsgBox "coucou" [A27] = [B27] * [C27] """"""""""c'est lui qui relance qu'il soit avant ou après msgbox, si je l'enlève, plus de boucle :) """"""""""""""""
End If
End Sub
Hors je ne souhaite pas pa que ça tourne en boucle peandant tout le tem ps que la condition est vrai. Néanmoins, je souhaite garder mon calcul. Je dois être sûr que msgbox s'affiche 1 seule fois (même on clic sur Ok et que A23 est tjs égal à 1, il ne doit pas réapparaitre), et que le calcul s' effectue une seule fois.
Ya t-il une methode qui permet d'éviter cette boucle?? Arpès tout , je ne lui ai rien demandé...
http://cjoint.com/?ccairxroxi
Merci à tous PS: les cellules "intermédiaires" sont volontaires
Bonjour,
Dim temps Sub majHeure() [A1] = Now If [A23] = 1 Then MsgBox "coucou" [A27] = [B27] * [C27] Else temps = Now + TimeValue("00:00:1") Application.OnTime temps, "majHeure" End If End Sub
Sub auto_open() majHeure End Sub
Sub auto_close() On Error Resume Next Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
http://cjoint.com/?ccfSXU11d6
JB
On 2 fév, 00:11, Shaulva <Shau...@discussions.microsoft.com> wrote:
Bonjour,
La macro suivante permet d'afficher l'heure puis en fonction de la valeur
d'une cellule, elle execute un calcul et affiche un message (MErci aux
membres des forums )
Dim temps
Sub majHeure()
Sheets("feuil1").Calculate
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End Sub
Sub auto_open()
majHeure
End Sub
Sub auto_close()
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:=False
End Sub
ça marche, mais j'ai appris csur ce forum que le calcul qui suite relan ce le
calculate()
Private Sub Worksheet_Calculate()
If [A23] = 1 Then
MsgBox "coucou"
[A27] = [B27] * [C27] """"""""""c'est lui qui relance qu'il soit avant ou
après msgbox, si je l'enlève, plus de boucle :) """"""""""""""""
End If
End Sub
Hors je ne souhaite pas pa que ça tourne en boucle peandant tout le tem ps
que la condition est vrai. Néanmoins, je souhaite garder mon calcul. Je dois
être sûr que msgbox s'affiche 1 seule fois (même on clic sur Ok et que A23
est tjs égal à 1, il ne doit pas réapparaitre), et que le calcul s' effectue
une seule fois.
Ya t-il une methode qui permet d'éviter cette boucle?? Arpès tout , je ne
lui ai rien demandé...
http://cjoint.com/?ccairxroxi
Merci à tous
PS: les cellules "intermédiaires" sont volontaires
Bonjour,
Dim temps
Sub majHeure()
[A1] = Now
If [A23] = 1 Then
MsgBox "coucou"
[A27] = [B27] * [C27]
Else
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End If
End Sub
Sub auto_open()
majHeure
End Sub
Sub auto_close()
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:=False
End Sub
La macro suivante permet d'afficher l'heure puis en fonction de la valeur d'une cellule, elle execute un calcul et affiche un message (MErci aux membres des forums )
Dim temps Sub majHeure() Sheets("feuil1").Calculate temps = Now + TimeValue("00:00:1") Application.OnTime temps, "majHeure" End Sub Sub auto_open() majHeure End Sub Sub auto_close() On Error Resume Next Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
ça marche, mais j'ai appris csur ce forum que le calcul qui suite relan ce le calculate()
Private Sub Worksheet_Calculate() If [A23] = 1 Then MsgBox "coucou" [A27] = [B27] * [C27] """"""""""c'est lui qui relance qu'il soit avant ou après msgbox, si je l'enlève, plus de boucle :) """"""""""""""""
End If
End Sub
Hors je ne souhaite pas pa que ça tourne en boucle peandant tout le tem ps que la condition est vrai. Néanmoins, je souhaite garder mon calcul. Je dois être sûr que msgbox s'affiche 1 seule fois (même on clic sur Ok et que A23 est tjs égal à 1, il ne doit pas réapparaitre), et que le calcul s' effectue une seule fois.
Ya t-il une methode qui permet d'éviter cette boucle?? Arpès tout , je ne lui ai rien demandé...
http://cjoint.com/?ccairxroxi
Merci à tous PS: les cellules "intermédiaires" sont volontaires
Bonjour,
Dim temps Sub majHeure() [A1] = Now If [A23] = 1 Then MsgBox "coucou" [A27] = [B27] * [C27] Else temps = Now + TimeValue("00:00:1") Application.OnTime temps, "majHeure" End If End Sub
Sub auto_open() majHeure End Sub
Sub auto_close() On Error Resume Next Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
http://cjoint.com/?ccfSXU11d6
JB
Shaulva
Bonjour JB, Merci pour le fichier, je l'ai modifié pour le faire fonctionner dans mes conditions (cf/ ci-joint). Ca fonctionne, mais dès que le message s'affiche , l'heure ne se met plus à jour. Est-ce que c'est lié à la commande msgbox qui fait apparaître une boite de dialogue qui pourrait générer ce genre de problème? Dans mon cas à moi, cette ligne msgbox (qui me sert uniquement test pour le moment) sera remplacée par une ligne de commande DDE.
Finalement le temps d'écrire cette réponse, j'ai modifié le fichier, et maintenant ça marche selon mes conditions. Je vais essayer d'implémenter ça à mon autre fichier un peu plus compliqué. Si ça ne marche pas je le joindrai en ajoutant des explications.
Merci beaucoup, http://cjoint.com/?cfm7JA2yh3
On 2 fév, 00:11, Shaulva wrote:
Bonjour,
La macro suivante permet d'afficher l'heure puis en fonction de la valeur d'une cellule, elle execute un calcul et affiche un message (MErci aux membres des forums )
Dim temps Sub majHeure() Sheets("feuil1").Calculate temps = Now + TimeValue("00:00:1") Application.OnTime temps, "majHeure" End Sub Sub auto_open() majHeure End Sub Sub auto_close() On Error Resume Next Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
ça marche, mais j'ai appris csur ce forum que le calcul qui suite relance le calculate()
Private Sub Worksheet_Calculate() If [A23] = 1 Then MsgBox "coucou" [A27] = [B27] * [C27] """"""""""c'est lui qui relance qu'il soit avant ou après msgbox, si je l'enlève, plus de boucle :) """"""""""""""""
End If
End Sub
Hors je ne souhaite pas pa que ça tourne en boucle peandant tout le temps que la condition est vrai. Néanmoins, je souhaite garder mon calcul. Je dois être sûr que msgbox s'affiche 1 seule fois (même on clic sur Ok et que A23 est tjs égal à 1, il ne doit pas réapparaitre), et que le calcul s'effectue une seule fois.
Ya t-il une methode qui permet d'éviter cette boucle?? Arpès tout , je ne lui ai rien demandé...
http://cjoint.com/?ccairxroxi
Merci à tous PS: les cellules "intermédiaires" sont volontaires
Bonjour,
Dim temps Sub majHeure() [A1] = Now If [A23] = 1 Then MsgBox "coucou" [A27] = [B27] * [C27] Else temps = Now + TimeValue("00:00:1") Application.OnTime temps, "majHeure" End If End Sub
Sub auto_open() majHeure End Sub
Sub auto_close() On Error Resume Next Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
http://cjoint.com/?ccfSXU11d6
JB
Bonjour JB,
Merci pour le fichier, je l'ai modifié pour le faire fonctionner dans mes
conditions (cf/ ci-joint). Ca fonctionne, mais dès que le message s'affiche ,
l'heure ne se met plus à jour.
Est-ce que c'est lié à la commande msgbox qui fait apparaître une boite de
dialogue qui pourrait générer ce genre de problème?
Dans mon cas à moi, cette ligne msgbox (qui me sert uniquement test pour le
moment) sera remplacée par une ligne de commande DDE.
Finalement le temps d'écrire cette réponse, j'ai modifié le fichier, et
maintenant ça marche selon mes conditions.
Je vais essayer d'implémenter ça à mon autre fichier un peu plus compliqué.
Si ça ne marche pas je le joindrai en ajoutant des explications.
Merci beaucoup,
http://cjoint.com/?cfm7JA2yh3
On 2 fév, 00:11, Shaulva <Shau...@discussions.microsoft.com> wrote:
Bonjour,
La macro suivante permet d'afficher l'heure puis en fonction de la valeur
d'une cellule, elle execute un calcul et affiche un message (MErci aux
membres des forums )
Dim temps
Sub majHeure()
Sheets("feuil1").Calculate
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End Sub
Sub auto_open()
majHeure
End Sub
Sub auto_close()
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:úlse
End Sub
ça marche, mais j'ai appris csur ce forum que le calcul qui suite relance le
calculate()
Private Sub Worksheet_Calculate()
If [A23] = 1 Then
MsgBox "coucou"
[A27] = [B27] * [C27] """"""""""c'est lui qui relance qu'il soit avant ou
après msgbox, si je l'enlève, plus de boucle :) """"""""""""""""
End If
End Sub
Hors je ne souhaite pas pa que ça tourne en boucle peandant tout le temps
que la condition est vrai. Néanmoins, je souhaite garder mon calcul. Je dois
être sûr que msgbox s'affiche 1 seule fois (même on clic sur Ok et que A23
est tjs égal à 1, il ne doit pas réapparaitre), et que le calcul s'effectue
une seule fois.
Ya t-il une methode qui permet d'éviter cette boucle?? Arpès tout , je ne
lui ai rien demandé...
http://cjoint.com/?ccairxroxi
Merci à tous
PS: les cellules "intermédiaires" sont volontaires
Bonjour,
Dim temps
Sub majHeure()
[A1] = Now
If [A23] = 1 Then
MsgBox "coucou"
[A27] = [B27] * [C27]
Else
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End If
End Sub
Sub auto_open()
majHeure
End Sub
Sub auto_close()
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:úlse
End Sub
Bonjour JB, Merci pour le fichier, je l'ai modifié pour le faire fonctionner dans mes conditions (cf/ ci-joint). Ca fonctionne, mais dès que le message s'affiche , l'heure ne se met plus à jour. Est-ce que c'est lié à la commande msgbox qui fait apparaître une boite de dialogue qui pourrait générer ce genre de problème? Dans mon cas à moi, cette ligne msgbox (qui me sert uniquement test pour le moment) sera remplacée par une ligne de commande DDE.
Finalement le temps d'écrire cette réponse, j'ai modifié le fichier, et maintenant ça marche selon mes conditions. Je vais essayer d'implémenter ça à mon autre fichier un peu plus compliqué. Si ça ne marche pas je le joindrai en ajoutant des explications.
Merci beaucoup, http://cjoint.com/?cfm7JA2yh3
On 2 fév, 00:11, Shaulva wrote:
Bonjour,
La macro suivante permet d'afficher l'heure puis en fonction de la valeur d'une cellule, elle execute un calcul et affiche un message (MErci aux membres des forums )
Dim temps Sub majHeure() Sheets("feuil1").Calculate temps = Now + TimeValue("00:00:1") Application.OnTime temps, "majHeure" End Sub Sub auto_open() majHeure End Sub Sub auto_close() On Error Resume Next Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
ça marche, mais j'ai appris csur ce forum que le calcul qui suite relance le calculate()
Private Sub Worksheet_Calculate() If [A23] = 1 Then MsgBox "coucou" [A27] = [B27] * [C27] """"""""""c'est lui qui relance qu'il soit avant ou après msgbox, si je l'enlève, plus de boucle :) """"""""""""""""
End If
End Sub
Hors je ne souhaite pas pa que ça tourne en boucle peandant tout le temps que la condition est vrai. Néanmoins, je souhaite garder mon calcul. Je dois être sûr que msgbox s'affiche 1 seule fois (même on clic sur Ok et que A23 est tjs égal à 1, il ne doit pas réapparaitre), et que le calcul s'effectue une seule fois.
Ya t-il une methode qui permet d'éviter cette boucle?? Arpès tout , je ne lui ai rien demandé...
http://cjoint.com/?ccairxroxi
Merci à tous PS: les cellules "intermédiaires" sont volontaires
Bonjour,
Dim temps Sub majHeure() [A1] = Now If [A23] = 1 Then MsgBox "coucou" [A27] = [B27] * [C27] Else temps = Now + TimeValue("00:00:1") Application.OnTime temps, "majHeure" End If End Sub
Sub auto_open() majHeure End Sub
Sub auto_close() On Error Resume Next Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub