calypsane
-
23 déc. 2015 à 11:13
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
23 déc. 2015 à 11:47
Bonjour,
J'essaye d'écrire un code pour comptabiliser le temps d'intervention sur nos machines. Le principe est que lors d'une panne, on écrit dans le fichier l'heure d'arrêt (Case B2). Si le technicien du service arrive à réparer, il écrit l'heure de reprise (Case G2). Si une société externe doit intervenir, dans ce cas, elle remplira l'heure de reprise en I2.
Voici le code correspondant:
Private Sub TAM_Click() Dim TAMV1(1)
Sheets("V1").Select
If IsEmpty(Range("I2")) Then
TAMV1(0) = Range("G" & 2) - Range("B" & 2)
Else TAMV1(0) = Range("I" & 2) - Range("B" & 2)
End If
Sheets("TAM").Select
Range("B2") = TAMV1(0)
End Sub
J'ai donc testé en écrivant une heure d'arret et de reprise en B2 (9:00) et G2 (9:30) et lorsque je clique sur le bouton, le résultat obtenu est 00:00!! Où ai-je fait une erreur dans mon code?
Bonjour,
Intéresse-toi à la fonction DateDiff (ton aide VBA à ouvrir et lire à la rubrique Datediff).
NOTA : Tu as ouvert cette discussion dans le forum général de VB, qui comprend plusieurs sous-forums, dont le sous-forum VBA, qui est celui que tu aurais dû choisir.
Je déplace donc vers VBA.
Prends s'il te plait dorénavant ce soin.
EDIT : par ailleurs :
Format((Range("C1").Value - Range("A1").Value), "HH:MM")
te retourne également la différence, en format HH:MM, entre l'heure de départ A1 et l'heure finale C1, pour autant que les cellules concernées soient elles-mêmes formatées en heure
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.