Erreur VBA OverFlow

Erreur de débordement Excel VBA

Les erreurs font partie intégrante de tout langage de codage, mais trouver pourquoi cette erreur se produit est ce qui vous permet de vous démarquer de la foule lors des entretiens. Les erreurs ne sont pas étranges pour le codage VBA, les erreurs ne sont pas intentionnelles, de sorte que la recherche de la cause de l'erreur rend la tâche difficile. Dans VBA, nous avons certaines des erreurs prédéfinies et les connaître vous permet de corriger le bogue très rapidement. Dans cet article, nous allons vous montrer l'ERREUR DE TEMPS D'EXÉCUTION 6: OverFlow. Suivez l'article complet pour connaître l'erreur, les raisons de l'erreur de débordement VBA et comment les corriger.

Qu'est-ce que l'erreur d'exécution 6: erreur de débordement dans VBA?

Lorsque nous déclarons la variable, nous leur attribuons un type de données. Nous devons être parfaitement conscients des avantages et des inconvénients de chaque type de données. C'est là que Run Time Error 6: OverFlow entre en scène. Lorsque nous surchargons le type de données avec une valeur supérieure à la capacité du type de données, nous obtiendrons cette erreur.

Par exemple: si vous déclarez la variable en tant que Byte.

Dim Number As Byte

Le type de données byte peut contenir des valeurs de 0 à 255. Je vais maintenant attribuer la valeur 240.

Nombre = 240

Cela devrait fonctionner correctement car la valeur que nous avons attribuée est inférieure à la limite de la valeur de Byte de 255. Au moment où nous attribuons la valeur qui est supérieure à 255, cela conduit à l'erreur Run Time Error 6: OverFlow.

Voici la présentation générale de l'erreur d'exécution 6: débordement. Nous verrons certains des exemples en détail.

Exemples d'erreur d'exécution 6: débordement dans VBA

Voyons quelques exemples d'erreur VBA OverFlow dans Excel.

Exemple 1: erreur de débordement avec le type de données d'octet

Comme je l'ai dit, il est important de connaître les avantages et les inconvénients du type de données VBA que nous allons utiliser. Pour un exemple, regardez le code ci-dessous.

Code:

 Sub OverFlowError_Example1 () Dim Number As Byte Number = 256 MsgBox Number End Sub 

Pour la variable «Number», j'ai attribué la valeur 256. Lorsque j'exécute ce code, nous obtiendrons l'erreur ci-dessous.

Cela est dû au fait que le type de données Byte peut contenir des valeurs comprises entre 0 et 255. Cela provoque donc une erreur. Pour corriger l'erreur, soit nous devons changer le type de données, soit nous devons réduire la valeur que nous avons assignée à la variable «Nombre».

Exemple 2: Erreur de dépassement de débit VBA avec un type de données entier

L'entier VBA est un type de données qui peut contenir des valeurs comprises entre -32768 et 32767. Pour un exemple, regardez le code ci-dessous.

Code:

 Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 25656 MsgBox MyValue End Sub 

Lorsque j'exécute ce code, nous obtenons la valeur de la variable «MyValue» dans la boîte de message, c'est-à-dire 25656.

Maintenant, je vais réaffecter le numéro à la variable comme «45654».

Code:

 Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 45654 MsgBox MyValue End Sub 

Maintenant, si j'essaie d'exécuter le code, cela provoquera une erreur car le type de données que nous avons déclaré ne peut contenir que le maximum de 32767 pour les nombres positifs et pour les nombres négatifs, la limite est -32768.

Exemple 3: Erreur de dépassement de débit VBA avec un type de données long

Le type de données long est le type de données le plus souvent utilisé dans Excel VBA. Cela peut contenir des valeurs comprises entre –2 147 483 648 et 2 147 486 647. Tout ce qui précède provoquera une erreur.

Code:

 Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = 5000 * 457 MsgBox MyValue End Sub 

Cela provoquera une erreur de débordement.

Pour résoudre ce problème, nous devons utiliser la fonction CLNG dans VBA. Voici un exemple de la même chose.

Code:

 Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = CLng (5000) * 457 MsgBox MyValue End Sub 

Cela devrait fonctionner correctement.

Voici l'aperçu de l'erreur d'exécution 6: débordement . Pour résoudre cette erreur, nous devons être pleinement conscients des types de données. Revenez donc aux bases, faites les bases à droite puis tout se mettra en place.

Vous pouvez télécharger ce modèle Excel d'erreur de débordement VBA ici - Modèle Excel d'erreur de débordement VBA