OVH Cloud OVH Cloud

Mise à jour calcul

8 réponses
Avatar
caroual
Bonsoir,
Dans une cellule excel j'ai la formule Maintenant. Je suis bien en
calcul automatique mais la cellule ne se met pas à jour toute seule ????
Je ne comprends pas pourquoi. Si je fais F9 elle se met à jour. Je suis
pourtant en calcul auto
Quelqu'un pourrait-il me dépanner ?
Merci

Caroual2@wanadoo.fr

8 réponses

Avatar
j
c'est quoi la formule ??
si c'est une fonction vba personnalisée, essaie d'ajouter
application.volatile dans la fonction


"caroual" a écrit dans le message de news:
bpgfn3$4ir$
Bonsoir,
Dans une cellule excel j'ai la formule Maintenant. Je suis bien en
calcul automatique mais la cellule ne se met pas à jour toute seule ????
Je ne comprends pas pourquoi. Si je fais F9 elle se met à jour. Je suis
pourtant en calcul auto
Quelqu'un pourrait-il me dépanner ?
Merci





Avatar
caroual
La formule est : =maintenant()
Avatar
ru-th
Salut

ben......
elle se mettra à jour lors d'un recalcul engendré par une modification de
cellule
c'est normal, ce n'est pas un chronomètre !

a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"caroual" a écrit dans le message de news:
bpgil4$jjm$
La formule est : =maintenant()



Avatar
j
alors c'est grave, balance le micro par la fenêtre


"caroual" a écrit dans le message de news:
bpgil4$jjm$
La formule est : =maintenant()



Avatar
caroual
En fait ce que je veux faire :
Toutes les heures je dois basculer entre deux numéros.
Le jour étant dans une cellule , l'heure dans une autre, la tempo de
basculement dans une autre, et toto le numéro de départ.


Function numéro(dat, heur, toto, tempo)
c = (Now - (dat + heur)) * 24
c = c / (tempo * 24)
If Int(c) Mod 2 = 0 Then
numéro = toto
Else
If toto = 11 Then numéro = 12
If toto = 12 Then numéro = 11
End If
End Function

La fonction ne marchant pas j'avais décortiqué dans plusieurs cellules
et je me suis aperçue que la mise à jour du calcul ne se fait pas
Avatar
FxM
Bonsoir,

Si tu dois chaque heure faiire quelque chose, tu pourrais utiliser
.ontime qui déclenchera une macro à l'heure dite.

@+
FxM



caroual wrote:

En fait ce que je veux faire :
Toutes les heures je dois basculer entre deux numéros.
Le jour étant dans une cellule , l'heure dans une autre, la tempo de
basculement dans une autre, et toto le numéro de départ.


Function numéro(dat, heur, toto, tempo)
c = (Now - (dat + heur)) * 24
c = c / (tempo * 24)
If Int(c) Mod 2 = 0 Then
numéro = toto
Else
If toto = 11 Then numéro = 12
If toto = 12 Then numéro = 11
End If
End Function

La fonction ne marchant pas j'avais décortiqué dans plusieurs cellules
et je me suis aperçue que la mise à jour du calcul ne se fait pas




Avatar
caroual
Bonsoir,
Je ne sais pas comment utiliser l'instruction ontime.
Avatar
FxM
caroual wrote:
Bonsoir,
Je ne sais pas comment utiliser l'instruction ontime.



Bonsoir Caroual,

Dans un module standard :
Sub lance()
Application.OnTime "21:52:30", "test"
End Sub

Sub test()
MsgBox "Il est " & Format(Now, "hh:mm:ss")
End Sub
A 21h52'30'', le msgbox sera affiché.

---

Sub lance2()
StartTime = Now + TimeValue("00:01")
Application.OnTime StartTime, "test"
End Sub
lance la macro test dans une minute.

---

Pour ta fonction (en la relisant), est-ce qu'un application.volatile
n'améliorerait pas ton problème ? Cet ajout ne lance pas le calcul
auto mais force le recalcul de ta fonction lorsqu'un recalcul global
est fait sinon la valeur ne change que lorsque l'une ou l'autre des
entrées varie. SI tu ne fais rien, les calculs ne se font pas.

Function numéro(dat, heur, toto, tempo)
application.volatile
c = (Now - (dat + heur)) * 24
c = c / (tempo * 24)
If Int(c) Mod 2 = 0 Then
numéro = toto
Else
If toto = 11 Then
numéro = 12
else
numéro = 11
End If
End If
End Function

---

Tu pourrais aussi cumuler les deux et demander un calcul toutes les 5
minutes ;o)) (non testé)

Sub calcule()
Application.calculate
Test
End Sub

Sub test()
Application.ontime now +timeserial ("00:05") "calcule"
End Sub


@+
FxM