Comment formater l’heure dans VBA (avec exemples)
Vous pouvez utiliser la fonction Format dans VBA avec les arguments suivants pour formater les heures dans Excel d’une manière spécifique :
- h : heures sans zéros
- hh : heures avec des zéros
- n : minutes sans zéros
- nn : minutes avec des zéros
- s : secondes sans zéros
- ss : secondes avec des zéros
- AM/PM : Affichage AM/PM
L’exemple suivant montre comment formater les heures à l’aide de VBA dans la pratique.
Exemple : formater les heures à l’aide de VBA
Supposons que nous ayons la colonne de dates/heures suivante dans Excel :
Nous pouvons créer la macro suivante pour formater les heures de la colonne A de manière spécifique et afficher les heures formatées dans les colonnes B à E :
Sub FormatTime()
Dim i As Integer
For i = 2 To 8
Range("B" & i) = Format(Range("A" & i), "h")
Range("C" & i) = Format(Range("A" & i), "h:nn")
Range("D" & i) = Format(Range("A" & i), "h:nn:ss")
Range("E" & i) = Format(Range("A" & i), "h:nn:ss AM/PM")
Next i
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Les colonnes B à E s’affichent désormais à chaque fois dans la colonne A formatée d’une manière spécifique.
Notez que vous pouvez également utiliser les formats de raccourcis Temps Court , Temps Moyen et Temps Long :
Sub FormatTime()
Dim i As Integer
For i = 2 To 8
Range("B" & i) = Format(Range("A" & i), "Short Time")
Range("C" & i) = Format(Range("A" & i), "Medium Time")
Range("D" & i) = Format(Range("A" & i), "Long Time")
Next i
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Les colonnes B à D s’affichent désormais à chaque fois dans la colonne A formatée d’une manière spécifique.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : Comment utiliser mm/jj/aaaa comme format de date
VBA : Comment formater les cellules en pourcentage
VBA : Comment appliquer une mise en forme conditionnelle aux cellules