macro sur exel

4545

XLDnaute Nouveau
BONJOUR à tous

je désire réaliser dans une cellule une valeur qui varie de façon aléatoire de 3% toutes les 10 secondes pendant 2minutes sur déclenchement d'un bouton de commande

si quelqu'un a une idée, elle sera forcement la bien venue

PS je suis trés mauvais en VBA

BONNE JOURNEE
 

2passage

XLDnaute Impliqué
Bonjour,

Ci joint un exemple... j'espere que ça te conviendra...

Enjoy

Edit : par contre, il y a une fuite de temps quelque part : sur 15 secondes avec une fréquence de 2 secondes, ça ne fait que 5 itérations... mais bon... il n'y a pas grand chose à optimiser, je le crains....

[file name=tictac.zip size=11288]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/tictac.zip[/file]

Message édité par: 2passage, à: 29/06/2005 15:25
 

Pièces jointes

  • tictac.zip
    11 KB · Affichages: 21
  • tictac.zip
    11 KB · Affichages: 22
  • tictac.zip
    11 KB · Affichages: 24

2passage

XLDnaute Impliqué
Bonjour,

Zut ! j'oublie toujours :p :sick: .... alors voilà :

Code:
Private Sub CommandButton1_Click()
Dim CurTime As Date
Application.Cursor = xlWait
CurTime = Time()
Range('b10').Value = 0
Range('D10').Value = Range('B2').Value
ActiveSheet.Range('B1') = Time()

Cette première partie initialise le bazar :
je définis les points de départ en terme de valeur a utiliser, heure de début (pour déterminer l'heure de fin) et CurTime : l'heure 'actuelle' qui me permettra de comparer à l'heure réelle pour vérifier si l intervalle est écoulé


Code:
While Time() < (Range('B1').Value + Range('B4').Value)
    DoEvents
Tant que l'heure réelle n'a pas dépassé l'heure de début + la duree, on continue... Le doevents est pour laisser la main pour .. s'occuper avec excel en attendant que le temps passe :p

Code:
    If Time() > CurTime + Range('B5').Value Then
        Range('D10').Value = Range('D10').Value + (Range('B3').Value * Range('B6').Value)
        Range('b10').Value = Range('b10').Value + 1
        CurTime = Time()
    End If
Si l'heure est > à la derniere heure de traitement + 1 fois la valeur de l'intervalle, alors il est l'heure de :
1- d'ajouter les + ou - 3% à la valeur (le %age multiplié par le +1/-1)
2- D'incrémenter le compteur d'itération (surtout pour qu'on voit que ca bouge et qu'excel n'est pas mort)
3- incidemment, comme on change des valeur de la feuille, on provoque un recalcul de la cellule +1 / -1

Code:
Wend
Application.Cursor = xlDefault
End Sub
Ben.. fin, quoi :)

A+

PS : écrire en majuscule sur un forum, c'est 'crier' et crier, c'est mal :p
 
4

4545

Guest
:whistle:

Excuse pour les majuscules mais pas habitué aux forums et je ne connais pas vos codes
ferais attention la prochaine fois

le boutton de commande, tu ne l'as pas creer avec les outils du menu formulaire?


encore merci, me reste plus qu'a bucher un peu

aller A+
 
4

4545

Guest
Excuse pour les majuscules mais pas habitué aux forums et je ne connais pas vos codes
ferais attention la prochaine fois

le boutton de commande, tu ne l'as pas creer avec les outils du menu formulaire?


encore merci, me reste plus qu'a bucher un peu

aller A+
:(
 

4545

XLDnaute Nouveau
Excuse pour les majuscules mais pas habitué aux forums et je ne connais pas vos codes
ferais attention la prochaine fois

le boutton de commande, tu ne l'as pas creer avec les outils du menu formulaire?


encore merci, me reste plus qu'a bucher un peu

ç'est le dernier

aller A+

:(
 

Discussions similaires

Statistiques des forums

Discussions
312 293
Messages
2 086 866
Membres
103 402
dernier inscrit
regishar