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 :

VBA calcule le décalage horaire

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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *