Introduction à VBA Overflow Error

Nous rencontrons de nombreux types en cas d'erreur lors de l'utilisation de VBA. Les erreurs sont appelées erreurs d'exécution lorsqu'elles ont rencontré une erreur lors de l'exécution du code. En outre, chaque code a un certain code qui lui est attribué dans la programmation de VBA. Dans Excel, une telle erreur est l'erreur de débordement VBA. Le code de cette erreur est l'erreur d'exécution 6 qui signifie un débordement dans la programmation de VBA. Nous découvrirons cette erreur dans cet article.

Maintenant, nous savons ce que cette erreur de débordement est un type d'erreur. Voyons maintenant ce que signifie cette erreur. Si nous déclarons une variable comme un certain type de données et que la valeur de la variable dépasse la limite du type de données de la variable, nous obtenons l'erreur de dépassement. Par exemple, si nous définissons une variable comme entier et que nous savons que l'entier peut contenir des valeurs allant jusqu'à 32767 pour les nombres positifs et -32768 pour les nombres négatifs. Donc, si nous fournissons une entrée au-delà de cette plage, nous rencontrerons une erreur de débordement dans VBA.

Une erreur de débordement en termes simples signifie que nous surchargeons un type de données avec les valeurs qu'il peut contenir. De tels cas nous rencontreront à cette erreur. Donc, pour éviter cette erreur, nous devons être conscients du type de données que nous utilisons afin de pouvoir l'éviter.

Nous verrons à travers divers exemples comment, dans différents types de types de données, nous pourrons éventuellement rencontrer cette erreur.

Comment utiliser l'erreur de débordement VBA dans Excel?

Nous allons apprendre à utiliser une fonction d'erreur de débordement VBA avec quelques exemples dans Excel.

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

Exemple # 1 - Erreur de débordement

Pour le premier exemple, utilisons le type de données Integer. Essayons de déborder les valeurs afin que les variables ne puissent pas les stocker et voir l'erreur que nous rencontrons.

Suivez les étapes ci-dessous pour utiliser la fonction d'erreur de débordement VBA dans Excel:

Étape 1: Pour commencer avec VBA, la première chose à faire est d'activer l'onglet de notre développeur, puis de cliquer dessus pour ouvrir l'option VB Editor à partir de Visual Basic, comme indiqué dans la capture d'écran ci-dessous,

Étape 2: Cliquez dessus et insérez un module comme suit, Une fois que nous avons cliqué sur le module. Double-cliquez dessus et il nous ouvrira une autre fenêtre où nous écrirons notre code.

Étape 3 : Nous verrons une fenêtre vierge sur le côté droit de nous, déclarer une sous-fonction et c'est ainsi que nous démarrons une macro comme suit,

Code:

 Sous-échantillon () End Sub 

Étape 4: Déclarez une variable comme un entier afin qu'elle puisse contenir une valeur entière pour nous,

Code:

 Sub Sample () Dim A As Integer End Sub 

Étape 5: Maintenant, dans la variable A, stockez une telle valeur qui débordera le type de données comme suit,

Code:

 Sous-échantillon () Dim A As Integer A = 4896 * 5000 End Sub 

Étape 6: affichez maintenant la valeur de A à l'aide de la fonction msgbox,

Code:

 Sous-échantillon () Dim A As Integer A = 4896 * 5000 MsgBox A End Sub 

Étape 7: exécutez le code ci-dessus et voyez quel résultat nous obtenons,

Nous avons reçu cette erreur car 4896 * 5000 est au-dessus de la limite de nombre positive pour le type de données entier à tenir et la variable A est dépassée par cette valeur, nous rencontrons donc cette erreur.

Exemple # 2 - Erreur de débordement

Maintenant, dans cet exemple, laissez-nous le type de données BYTE. Nous savons que le type de données d'octet peut contenir des valeurs de 0 à 255 mais toutes les valeurs autres que cette plage nous donneront une erreur. Découvrons-le.

Étape 1: Nous avons déjà inséré notre module, nous pouvons travailler sur le même ou en créer un nouveau. Mais travaillons sur le même module que nous avons inséré. Double-cliquez sur le module pour entrer à nouveau dans la fenêtre de code,

Étape 2: Déclarez une autre sous-fonction comme suit,

Code:

 Sub Sample1 () End Sub 

Étape 3: Déclarez une variable comme type de données BYTE comme suit,

Code:

 Sub Sample1 () Dim A As Byte End Sub 

Étape 4: maintenant dans la variable A, valeur de magasin supérieure à 255, comme suit,

Code:

 Sub Sample1 () Dim A As Byte A = 266 End Sub 

Étape 5: utilisez une fonction msgbox pour afficher la valeur de A,

Code:

 Sub Sample1 () Dim A As Byte A = 266 MsgBox A End Sub 

Étape 6: exécutons le code ci-dessus en appuyant sur F5 et voyons le résultat,

Étape 7: Maintenant, essayons de changer la valeur de A en 244 et réexécutons le code pour voir le résultat,

Code:

 Sub Sample1 () Dim A As Byte A = 244 MsgBox A End Sub 

Étape 8: Lorsque nous exécutons à nouveau le code, nous voyons le résultat suivant,

Lorsque nous exécutons pour la première fois la variable de code A a des valeurs supérieures à la plage qu'un type de données BYTE peut contenir, mais dans le deuxième cas, la variable A a des données dans sa plage de type de données, nous n'avons donc pas rencontré l'erreur de débordement.

Exemple # 3 - Erreur de débordement

Utilisons maintenant le type de données LONG comme exemple car c'est le type de données le plus utilisé par les programmeurs.

Étape 1: Nous travaillerons à nouveau dans le même module que nous avons inséré précédemment. Nous avons juste besoin de double-cliquer sur le module et nous y sommes.

Étape 2: Déclarez une sous-fonction comme indiqué dans la capture d'écran.

Code:

 Sub Sample2 () End Sub 

Étape 3: Déclarez une variable comme un type de données LONG comme suit.

Code:

 Sub Sample2 () Dim A As Sub End Long 

Étape 4: Maintenant, semblable aux exemples ci-dessus, débordons cette variable en lui faisant tenir les valeurs au-dessus de sa plage comme suit.

Code:

 Sub Sample2 () Dim A As Long A = 2000 * 365 End Sub 

Étape 5: utilisez une fonction msgbox pour afficher la valeur de A comme suit.

Code:

 Sub Sample2 () Dim A As Long A = 2000 * 365 MsgBox A End Sub 

Étape 6: Cliquez sur le bouton Exécuter ci-dessus et voyez que nous rencontrons une erreur de débordement.

Étape 7: Il existe maintenant une méthode pour surmonter cette erreur dans le type de données long en utilisant la fonction CLNG comme suit.

Code:

 Sub Sample2 () Dim A As Long A = CLng (2000) * 365 MsgBox A End Sub 

Étape 8: Maintenant, si nous exécutons à nouveau le code, nous pouvons voir le résultat suivant.

Maintenant, qu'a fait la fonction CLNG? Il a converti la valeur en un entier long que la variable peut contenir.

Comment surmonter l'erreur de débordement dans VBA

Lorsque nous rencontrons une erreur de débordement dans VBA, cela signifie que l'une de nos variables, pas plus a des valeurs qu'elle ne peut pas contenir. Nous devons identifier la variable et la rectifier. De plus, nous avons la fonction CLNG pour les types de données longs pour nous aider. Mais connaître notre type de données aide réellement.

Choses dont il faut se rappeler

Il y a certaines choses dont nous devons nous rappeler concernant les erreurs de débordement dans VBA:

  • L'erreur de débordement est une erreur d'exécution.
  • Le code d'erreur pour l'erreur de débordement est 6.
  • Pour surmonter l'erreur de débordement, nous devons savoir quel type de données peut contenir combien de valeurs.
  • La fonction CLNG aide en cas d'erreur de débordement pour les types de données longs.

Articles recommandés

Ceci est un guide pour l'erreur de débordement VBA. Ici, nous discutons de l'utilisation de la fonction d'erreur de débordement d'Excel VBA avec des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Fonction Copier Coller dans VBA
  2. Fonction Excel de sous-chaîne
  3. Indice VBA hors plage
  4. Formule ISNUMBER Excel

Catégorie: