Macro pour calcul d'heure

calypsane - 23 déc. 2015 à 11:13
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 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?

Merci par avance!

1 réponse

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 23/12/2015 à 13:02
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.
0
Rejoignez-nous