Comment calculer la différence de temps dans VBA (avec des exemples)
Vous pouvez utiliser la syntaxe de base suivante dans VBA pour calculer la différence entre deux heures :
Sub FindTimeDifference()
Dim i As Integer
For i = 2 To 7
'calculate time difference in days
Range("C" & i) = Range("B" & i) - Range("A" & i)
'calculate time difference in hours
Range("D" & i) = (Range("B" & i) - Range("A" & i)) * 24
'calculate time difference in minutes
Range("E" & i) = (Range("B" & i) - Range("A" & i)) * 24 * 60
'calculate time difference in seconds
Range("F" & i) = (Range("B" & i) - Range("A" & i)) * 24 * 60 * 60
Next i
End Sub
Cette macro particulière calculera la différence entre les heures correspondantes dans les plages A2:A7 et B2:B7 et renverra les résultats suivants :
- C2:C7 contiendra le décalage horaire en jours
- D2: D7 contiendra le décalage horaire en heures
- E2: E7 contiendra le décalage horaire en minutes
- F2: F7 contiendra le décalage horaire en secondes
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : calculer la différence de temps dans VBA
Supposons que nous ayons les deux colonnes suivantes d’heures de début et de fin dans Excel :
Nous pouvons créer la macro suivante pour calculer le décalage horaire entre chaque heure de début et de fin et afficher les résultats dans les colonnes C à F :
Sub FindTimeDifference()
Dim i As Integer
For i = 2 To 7
'calculate time difference in days
Range("C" & i) = Range("B" & i) - Range("A" & i)
'calculate time difference in hours
Range("D" & i) = (Range("B" & i) - Range("A" & i)) * 24
'calculate time difference in minutes
Range("E" & i) = (Range("B" & i) - Range("A" & i)) * 24 * 60
'calculate time difference in seconds
Range("F" & i) = (Range("B" & i) - Range("A" & i)) * 24 * 60 * 60
Next i
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Les colonnes C à F affichent la différence de temps entre les heures de début et de fin en différentes unités.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
Comment comparer les dates dans VBA
Comment calculer les jours entre deux dates en VBA
Comment convertir une chaîne en date dans VBA