• Initiateur de la discussion Initiateur de la discussion 4545
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

4

4545

Guest
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
 
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

Bonjour,

Zut ! j'oublie toujours 😛 :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 😛

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 😛
 
: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+
 
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+
🙁
 
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+

🙁
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

A
Réponses
37
Affichages
4 K
asso78Lim
A
D
Réponses
5
Affichages
4 K
T
  • Question Question
Réponses
2
Affichages
509
theovgnl
T
Retour