CINT |
Conversion en entier |
|---|---|
| Access 2019, Access 2016, Access 2013, Access 2010, Access 2007, Access 2003, Access XP, Access 2000 | Microsoft Access |
Syntaxe
| CInt(expression) |
Paramètres
| Nom | Description |
|---|---|
| expression | Ce paramètre permet d'indiquer l'expression scalaire à traiter. |
Description
Cette fonction permet de convertir un type de données quelconque à un format entier.
Remarques
- La fonction convertit une expression en entier de type Integer : La fonction CInt transforme une expression numérique compatible en une valeur de type Integer. Le résultat obtenu est un nombre entier signé, c'est-à-dire qu'il ne comporte aucune partie décimale. Cette fonction est fréquemment utilisée lorsqu'un calcul ou une variable nécessite obligatoirement un entier.
- La fonction effectue un arrondi et non une simple suppression des décimales : Contrairement aux fonctions Int ou Fix, CInt arrondit la valeur au nombre entier le plus proche avant de la convertir. Par exemple, CInt(12,7) retourne 13, tandis que CInt(12,2) retourne 12. Il est donc important de choisir la fonction appropriée selon que l'on souhaite un arrondi ou une troncature.
- Les valeurs converties doivent respecter les limites du type Integer : Le type Integer de VBA peut représenter uniquement des valeurs comprises entre -32 768 et 32 767. Si la valeur à convertir dépasse cette plage, Microsoft Access génère une erreur de dépassement de capacité (Overflow). Pour des nombres plus importants, il est préférable d'utiliser CLng.
- La fonction accepte différents types de données compatibles : Le paramètre peut être une constante numérique, une variable, un champ de table, une expression mathématique ou une chaîne contenant une valeur numérique valide. CInt effectue automatiquement la conversion lorsque cela est possible. Cette souplesse simplifie le traitement de données provenant de différentes sources.
- Une conversion invalide provoque une erreur d'exécution : Si l'expression ne peut pas être interprétée comme un nombre, la fonction génère une erreur de conversion. C'est notamment le cas pour une chaîne contenant du texte alphabétique ou un format numérique incorrect. Afin de rendre le programme plus robuste, il est recommandé d'utiliser IsNumeric avant d'effectuer la conversion.
- La fonction est souvent utilisée pour préparer des calculs ou des boucles : De nombreuses structures de programmation, comme les boucles For...Next ou certains calculs d'indices, nécessitent des valeurs entières. CInt permet de convertir explicitement une expression afin de garantir que le résultat est bien un entier. Cette pratique améliore la lisibilité et la fiabilité du code.
- Elle est disponible dans les requêtes et dans le code VBA : La fonction CInt peut être utilisée dans les requêtes SQL, les formulaires, les états, les contrôles calculés ainsi que dans les modules VBA. Cette disponibilité permet d'effectuer les conversions directement lors de l'exécution d'une requête ou dans une expression calculée. Elle évite ainsi d'avoir recours à des fonctions personnalisées.
- Elle appartient à la famille des fonctions de conversion de VBA : CInt fait partie des fonctions de conversion telles que CBool, CByte, CCur, CDate, CDbl, CDec, CLng, CSng et CStr. Toutes ces fonctions permettent de convertir explicitement une valeur vers un type de données déterminé. Leur utilisation réduit les ambiguïtés liées aux conversions implicites effectuées par Access.
- Son comportement diffère de celui des fonctions Int et Fix : Bien que ces trois fonctions retournent des entiers, leur fonctionnement n'est pas identique. CInt effectue un arrondi, alors que Int arrondit toujours vers l'entier inférieur et Fix supprime simplement la partie décimale. Le choix de la fonction dépend donc du résultat recherché par le développeur.
- La fonction est compatible avec toutes les versions modernes de Microsoft Access : La fonction CInt est disponible depuis les premières versions d'Access intégrant VBA et son comportement est resté stable au fil des années. Elle est compatible avec Access 2000, Access XP, Access 2003, Access 2007, Access 2010, Access 2013, Access 2016 ainsi qu'avec Microsoft 365. Cette stabilité garantit la compatibilité des applications lors des migrations vers des versions plus récentes d'Access.
Exemple de code VBA
La fonction CInt peut être utilisée dans le code VBA de Microsoft Access.
Par exemple :
Dim LValue As Integer
LValue = CInt(8.45)
Dans cet exemple, la variable LValue contiendrait désormais la valeur 8.
Attention à l'utilisation de CInt. Si vous utilisiez le code suivant :
Dim LValue As Integer
LValue = CInt(8.5)
La variable LValue contiendra toujours la valeur 8. Tant que la fraction est inférieure ou égale à 0,5, la fonction CInt n'arrondira pas le nombre à l'entier supérieur.
Si la fraction est inférieure ou égale à 0,5, le résultat sera arrondi à l'entier inférieur.
Si la fraction est supérieure à 0,5, le résultat sera arrondi à l'entier supérieur.
Par le passé, il s'est avéré utile d'ajouter 0,0001 à la valeur avant d'appliquer la fonction CInt afin de simuler l'arrondi classique.
Par exemple, CInt(8,50001) donnera la valeur 9.