Fonction VBA CLng - Convertir l'expression en long

Table des matières

Ce didacticiel montrera comment utiliser la fonction CLng VBA pour convertir une expression en type de données entier long.

Fonction CLng

VBA CLng Convertir l'expression en long

La fonction VBA CLng peut être utilisée pour convertir des expressions en type de données long à l'intérieur du code VBA.

123456 Sous CLngExample_1()MsgBox CLng(12.34) 'Le résultat est : 12MsgBox CLng(12.345) 'Le résultat est : 12MsgBox CLng(-124) 'Le résultat est : -124MsgBox CLng(-12.34) 'Le résultat est : -12Fin du sous-marin

Arrondi VBA CLng

La fonction VBA CLng arrondira la partie décimale d'un type de nombre ou d'une expression de type nombre. Cependant, il ne s'arrondit pas correctement dans tous les cas. Lorsque la partie décimale est de 0,5, la fonction VBA CLng renvoie l'entier pair le plus proche.

1234567891011 Sous CLngExample_2()MsgBox CLng(0.34) 'Le résultat est : 0MsgBox CLng(0.99) 'Le résultat est : 1MsgBox CLng(-124.95) 'Le résultat est : -125MsgBox CLng(1.5) 'Le résultat est : 2MsgBox CLng(2.5) 'Le résultat est : 2Fin du sous-marin

Nous pouvons ajouter un nombre décimal relativement petit à notre valeur décimale attendue pour modifier le comportement de la fonction VBA CLng en fonction de l'attendu.

1234567891011 Sous CLngExample_3()MsgBox CLng (2.5)'Le résultat est : 2MsgBox CLng (2,5 + 0,001)'Le résultat est : 3MsgBox CLng(14.5)'Le résultat est : 14MsgBox CLng (14,5 + 0,001)'Le résultat est : 15Fin du sous-marin

Programmation VBA | Le générateur de code fonctionne pour vous !

VBA CLng Conversion de chaînes en longs

La fonction VBA CLng peut être utilisée pour convertir des chaînes en longs si les caractères de la chaîne ont une signification sous forme de nombres.

123456789101112131415161718 Sous CLngExample_4()Dim StrEx en tant que chaîneStrEx = "112"MsgBox CLng(StrEx)'Le résultat est : 112StrEx = "112.3"MsgBox CLng(StrEx)'Le résultat est : 112 112.3 est arrondiStrEx = "11,2"MsgBox CLng(StrEx)'Le résultat est : 112 , est ignoréStrEx = " 112 $"MsgBox CLng(StrEx)'Le résultat est : 112 $ est ignoréFin du sous-marin

Erreur d'exécution VBA CLng 13 Type de non-concordance

L'utilisation de la fonction VBA CLng avec des chaînes contenant des caractères non numériques ou des caractères qui n'ont pas de sens dans un contexte numérique entraînera une erreur d'exécution « 13 » : incompatibilité de type.

1234567 Sous CLngExample_5()'Le code ci-dessous entraînera un message d'ERREUR'CLng ne peut pas gérer les caractères non numériquesDim StrEx en tant que chaîneStrEx = "Ab13"MsgBox CLng(StrEx)Fin du sous-marin

Débordement d'erreur d'exécution VBA CLng 6

L'utilisation de la fonction VBA CLng avec des chaînes qui entraînent une valeur inférieure ou supérieure à l'entier attendu entraînera une erreur d'exécution « 6 » : débordement. Le type de données entier dans Excel a une valeur attendue de -2 147 483 648 à 2 147 483 647.

1234567 Sous CLngExample_6()'Le code ci-dessous entraînera un message d'ERREUR'CLng ne peut pas gérer les caractères non numériquesDim StrEx en tant que chaîneStrEx = "2147483648"MsgBox CLng(StrEx)Fin du sous-marin

Fatigué de rechercher des exemples de code VBA ? Essayez AutoMacro !

Paramètres régionaux VBA CLng

La fonction VBA CLng a un comportement différent en convertissant les chaînes avec une virgule ou un point. Il utilise les paramètres régionaux du système d'exploitation pour le séparateur décimal et le séparateur de chiffres.

12345678910111213141516 Sous CLngExample_7()Dim StrEx en tant que chaîneStrEx = "1,9"MsgBox CLng(StrEx)« Si les paramètres régionaux ont , comme séparateur de regroupement, alors'Le résultat est : 19‘Si les paramètres régionaux ont , comme séparateur décimal alors'Le résultat est : 2 (2 car 1,9 est arrondi)StrEx = "1.9"MsgBox CLng(StrEx)« Si les paramètres régionaux ont . comme séparateur de regroupement alors'Le résultat est : 19« Si les paramètres régionaux ont . comme séparateur décimal alors'Le résultat est : 2 (2 car 1,9 est arrondi)Fin du sous-marin

Programmation VBA | Le générateur de code fonctionne pour vous !

VBA CLng Conversion de booléens en longs

La fonction VBA CLng peut convertir des variables booléennes en longs. Si l'expression évaluée est vraie, la longueur résultante est -1 et si l'expression évaluée est fausse, la longueur résultante est 0.

1234567891011121314 Sous CLngExample_8()Dim BoolEx en tant que booléenBoolEx = VraiMsgBox CLng (BoolEx)'Le résultat est : -1MsgBox CLng(2 = 2)'Le résultat est : -1BoolEx = FauxMsgBox CLng (BoolEx)'Le résultat est : 0MsgBox CLng (1 = 2)'Le résultat est : 0Fin du sous-marin

VBA CLng Conversion de dates en longs

La fonction VBA CLng peut convertir une variable de date en un long. La valeur renvoyée est le numéro interne utilisé par Excel pour le stockage de la date arrondie. Si ce nombre est en dehors des longues limites attendues pour VBA, nous obtenons une erreur d'exécution « 6 » : débordement.

123456789101112 Sous CLngExample_9()Dim DateEx As DateDateEx = #2/3/1940#MsgBox CLng(DateEx)'Le résultat est : 14644DateEx = #8/7/1964#MsgBox CLng(DateEx)'Le résultat est : 23596DateEx = #3/7/1934 11:32:04 AM#MsgBox CLng(DateEx)'Le résultat est : 12485Fin du sous-marin

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave