TIMESERIAL |
Heure série |
|---|---|
| Visual Basic | |
Syntaxe
| Function TimeSerial(hour,minute,second) |
Paramètres
| Nom | Description |
|---|---|
| hour | Ce paramètre permet d'indiquer l'heure |
| minute | Ce paramètre permet d'indiquer les minutes |
| second | Ce paramètre permet d'indiquer les secondes |
Description
Cette fonction permet de créer une heure à partir de paramètre de temps.
Remarques
- La fonction TimeSerial permet de construire une valeur temporelle (Date) à partir d'unités horaires distinctes : heures, minutes et secondes. Cela est très utile lorsque l'on souhaite générer une heure dynamique basée sur des calculs ou des entrées utilisateur.
- TimeSerial ajuste automatiquement les valeurs hors bornes. Par exemple, si vous passez 61 minutes, Visual Basic ajoutera 1 heure et 1 minute, corrigeant ainsi les valeurs entrées de manière intuitive.
- Lorsque l'heure dépasse 23 (comme dans TimeSerial(24, 0, 0)), le système considère qu'on passe au jour suivant. Toutefois, cela peut conduire à un résultat inattendu (comme "31/12/1899") si on ne précise pas correctement le contexte.
- La valeur retournée par TimeSerial est de type Date, même si elle ne contient que l'heure. Cela permet de l'utiliser directement dans des comparaisons temporelles et des calculs sans nécessiter de conversion supplémentaire.
- Si l'un des paramètres est négatif, TimeSerial tente de recalculer l'heure en conséquence. Par exemple, TimeSerial(10, -30, 0) donnera 9h30. Cela offre de la souplesse mais demande de rester vigilant pour éviter des résultats inattendus.
- Il est important de noter que TimeSerial(24, 0, 0) n'affiche pas "00:00:00" du lendemain mais une date en dehors de la journée standard. Cela reflète l'internalisation de la gestion des heures dans le système de type Date de Visual Basic.
- TimeSerial est particulièrement utile lorsqu'on manipule des données issues de calculs horaires, comme additionner des durées ou ajuster une heure après une série d'opérations sans recourir à des conversions manuelles.
- L'exemple donné montre bien comment plusieurs appels de TimeSerial avec différentes combinaisons d'heures, minutes et secondes peuvent illustrer les subtilités du comportement de la fonction, notamment la gestion des débordements d'unités.
Exemple
Voici un exemple d'une utilisation typique de cette fonction :
- Sub Main()
- MsgBox "TimeSerial(0,0,0) = " & TimeSerial(0,0,0) & vbCrLf & _
- "TimeSerial(8,12,14) = " & TimeSerial(8,12,14) & vbCrLf & _
- "TimeSerial(23,1,2) = " & TimeSerial(23,1,2) & vbCrLf & _
- "TimeSerial(24,0,0) = " & TimeSerial(24,0,0)
- End Sub
on obtiendra le résultat suivant :
TimeSerial(0,0,0) = 00:00:00TimeSerial(8,12,14) = 08:12:14
TimeSerial(23,1,2) = 23:01:02
TimeSerial(24,0,0) = 31/12/1899
Dernière mise à jour : Lundi, le 19 novembre 2012