[VBA] Bonton toggle, temps entre 2 clics

  • Initiateur de la discussion Initiateur de la discussion alexitt
  • 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 !

alexitt

XLDnaute Nouveau
Bonjour, Voici mon problème, je souhaiterais relevé le temps en heure minute de l'intervalle entre mon 1er clic et mon second sur un bouton toggle.
Voici le code VBA que j'ai écrit :
Private Sub ToggleButton1_Click()

Dim H As Integer, M As Integer, H2 As Integer, M2 As Integer, H3 As Integer, M3 As Integer, p As Integer


If ToggleButton1 Then
ToggleButton1.Caption = "Début"
ToggleButton1.BackColor = vbGreen
H = Hour(Now)
M = Minute(Now)
Else
ToggleButton1.Caption = "Fin"
ToggleButton1.BackColor = vbRed
H2 = Hour(Now)
M2 = Minute(Now)
M3 = ((H2 - H) * 60) + M2 - M
H3 = 0
Do While M3 >= 60
H3 = H3 + 1
M3 = M3 - 60
Loop
p = 6
Sheets("Feuil1").Activate
Cells(p, 1).Activate
Do While Not (IsEmpty(ActiveCell))
H = Sheets("Feuil1").Cells(p, 1)
M = Sheets("Feuil1").Cells(p, 2)
H3 = Sheets("Feuil1").Cells(p, 3)
M3 = Sheets("Feuil1").Cells(p, 4)
Loop
End If
End Sub

Merci de m'aider à résoudre ce problème.
 

Pièces jointes

Re : [VBA] Bonton toggle, temps entre 2 clics

Bonjour,

vois si cela convient. Il faut attendre au moins une minute!
Le départ et la durée sont affichés en même temps à la fin.

Code:
Private Sub ToggleButton1_Click()
'Static permet de conserver la valeur de la variable d'un appel à l'autre de la procédure
'Départ est remis à 0 lorsque 'Fin' intervient
Static Départ As Date
Dim durée As Date
Dim c As Range
If ToggleButton1 Then
    ToggleButton1.Caption = "Début"
    ToggleButton1.BackColor = vbGreen
    Départ = Now
Else
    ToggleButton1.Caption = "Fin"
    ToggleButton1.BackColor = vbRed
    durée = Now - Départ
    Set c = Sheets("Feuil1").Cells(Rows.Count, 1).End(xlUp)(2)
    c.Resize(, 4) = Array(Hour(Départ), Minute(Départ), Hour(durée), Minute(durée))
    Départ = 0
End If
End Sub

Tu as du intervertir les couleurs et les "Départ" et "Fin" sur le toggleButton1, j'ai laissé tel quel.

A+

[Edition]Hello Pierre-Jean🙂
 
Dernière modification par un modérateur:
- 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

Discussions similaires

Réponses
7
Affichages
547
Réponses
9
Affichages
1 K
Réponses
8
Affichages
906
Réponses
57
Affichages
5 K
Retour