Figer l'heure dans une varible

S

Sylvain

Guest
Bonjour le forum.
J'ai besoin dans VBA de marquer l'heure à la seconde près dans plusieurs endroit.
Le problème c'est que le temps que le code s'exécute ,j'ai une différence d'une à deux secondes.
Est il possible de figer l'heure dans une variable?
 
H

herve

Guest
bonjour,

tu dois faire appel a la fonction time non?

essaye de créer ta propre variable par exemple

monheure=time

cela fige ainsi l'heure,

puis dans chaque endroit où tu veux la synchro tu rappelles ta variable
monheure et non time...


J'espere que cela t'aidera..

@+
 
R

Roland

Guest
Bonsoir à tous

Peux-tu préciser si les différents endroits d'utilisation le seront systématiquement ou si seuls certains le sont à chaque fois.

Si c'est le premier cas tu pourrais faire le transfert de time dans un tableau() de longueur égale au nombre d'utilisations.
A chaque endroit d'utilisation tu te servirais d'un élément différent du tableau en prenant soin de remettre cette élément à zéro.
Si tu conditionnes le transfert de time au fait d'avoir zéro dans tout le tableau tu garantira l'unicité de cette valeur.

Cela fait un peu usine à gaz mais en attendant mieux.

A+ Roland
 
H

herve

Guest
bonjour

ci joint une boucle dans laquelle ma variable mon heure ne bouge pas!

Sub toto()
monheure = Time ' valeur de ma variable
Sheets("Feuil1").Select
Range("a1").Select
For i = 0 To 10 'boucle pour perdre du temps
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = monheure
MsgBox monheure 'encore un peu de temps perdu
Next i
End Sub


mon heure ne varie pas, et pourtant cela dure autant de temps que l'on veut...

la valeur monheure ne doit etre "chargée" qu'une seule fois.
Il te faut seulement la declarer si tu veux t'en servir d'un module sur l'autre,
et dans ta procedure te servir de la valeur sans la recharger..

pour moi cela marche...

Et pour toi??

@+ herve
 
S

syl

Guest
Bonjour et excusé moi du retard.
Dans mon application j'écri l'heure à un instant T à trois endroits différents.
Le problème que j'avais c'est qu'en écrivant MonHeure = Time et en me servant de la variable MonHeure comme dans l'exemple ci après:
Range("D2").value=MonHeure
code.....etc
Range("B10").value=MonHeure
code.....etc
Range("F2").value=MonHeure
Le temps que le code s'exécute j'arrive à avoir de temps en temps une différence de une seconde.
En chargeant l'heure dans une cellule comme vous le faite,le problème est résolu.
Range("D2").value=Time
MonHeure=Range("D2").value
code.....etc
Range("B10").value=MonHeure
code.....etc
Range("F2").value=MonHeure
Merci encore de votre aide.
 

Discussions similaires

Réponses
4
Affichages
233

Statistiques des forums

Discussions
313 064
Messages
2 094 943
Membres
106 133
dernier inscrit
Thierry R