Opérateur Excel VBA MOD
En VBA MOD est le même que pour l'application en mathématiques, quand un nombre est divisé par son diviseur et que nous recevons un rappel de cette division, cette fonction est utilisée pour nous donner ce reste de la division, ce n'est pas plutôt une fonction en VBA que ce n’est qu’un opérateur.
MOD n'est rien mais MODULO est une opération mathématique. C'est exactement le même que la division, mais le résultat est légèrement différent où la division prend le montant divisé, mais MOD prend le reste de la division. Par exemple: Si vous divisez 21 par 2, le résultat de la division est 10,50 par MOD est le reste de la division, c'est-à-dire 1. (le numéro 2 ne peut diviser que 20, pas 21, donc le reste est 1).
Dans Excel normal, c'est une fonction, mais dans VBA, ce n'est pas une fonction. C'est juste un opérateur mathématique. Dans cet article, nous examinerons cet opérateur en détail.

Syntaxe
Juste pour vous rappeler, ce n'est pas une fonction à avoir de la syntaxe. Pour la compréhension de notre lecteur, permettez-moi de le mettre dans le mot.
Numéro 1 MOD Numéro 2 (Diviseur)
Le numéro 1 n'est rien d'autre que le nombre que nous essayons de diviser.
Numéro 2 c'est le diviseur, c'est-à-dire que nous allons diviser le nombre 1 par ce diviseur.
MOD le résultat donné par Number 1 / Number 2.
Comment utiliser MOD dans VBA?
Exemple 1
Suivez les étapes ci-dessous pour écrire le code.
Étape 1: Créez un nom de macro.
Code:
Sub MOD_Example1 () End Sub
Étape 2: définissez l'une des variables comme « Integer ».
Code:
Sub MOD_Example1 () Dim i As Integer End Sub
Étape 3: Effectuez maintenant le calcul comme suit: «i = 20 MOD 2.»
Comme je l'ai dit au début, MOD est un opérateur, pas une fonction. J'ai donc utilisé le mot MOD comme je saisis un plus (+).
Code:
Sub MOD_Example1 () Dim i As Integer i = 21 Mod 2 End Sub
Étape 4: Attribuez maintenant la valeur «I» à la boîte de message.
Code:
Sub MOD_Example1 () Dim i As Integer i = 21 Mod 2 MsgBox i End Sub
Étape 5: Exécutez la boîte de message de code affichera la valeur de «I.»

Exemple # 2
Mod dans VBA renvoie toujours une valeur entière, c'est-à-dire sans décimales si vous fournissez le nombre en décimales. Par exemple, regardez le code ci-dessous.
Code:
Sub MOD_Example2 () Dim i As Integer i = 26.25 Mod 3 MsgBox i End Sub
Le diviseur 3 peut diviser 24, donc le reste ici est 2,25, mais l'opérateur MOD renvoie la valeur entière, c'est-à-dire 2, pas 2,25.

Maintenant, je vais modifier le nombre en 26,51 et voir la différence.
Code:
Sub MOD_Example2 () Dim i As Integer i = 26.51 Mod 3 MsgBox i End Sub
Je vais exécuter ce code et voir quel est le résultat.

Sensationnel!!! Nous avons zéro comme réponse. La raison pour laquelle nous avons obtenu zéro parce que VBA arrondit les nombres comme le font nos banquiers, c'est-à-dire que tout point décimal supérieur à 0,5 sera arrondi à la valeur entière suivante. Donc, dans ce cas, 26,51 est arrondi à 27.
Puisque 3 peut diviser les 27 par 9, nous n'obtiendrons aucune valeur de reste, donc la valeur de i est égale à zéro.
Maintenant, je vais fournir la valeur du diviseur également en points décimaux.
Code:
Sub MOD_Example2 () Dim i As Integer i = 26,51 Mod 3,51 MsgBox i End Sub
Étape 6: Exécutez ce code et voyez quel est le résultat.

Nous avons 3 comme réponse car 26,51 sera arrondi à 27 et la valeur du diviseur 3,51 sera arrondie à 4.
Donc, si vous divisez 27 par 4, le reste est 3.
Fonction Excel MOD vs opérateur MOD VBA
Étape 1: Maintenant, jetez un œil à la différence entre les opérateurs Excel et VBA MOD. J'ai une valeur de 54,24 et la valeur du diviseur est 10.

Étape 2: Maintenant, si j'applique la fonction MOD, j'obtiendrai le résultat comme 4.25.

Étape 3: Mais si vous faites la même opération avec VBA, nous obtiendrons 4 comme reste, pas 4.25.
Code:
Sub MOD_Example2 () Dim i As Integer i = 54.25 Mod 10 MsgBox i End Sub
Étape 4: Exécutez ce code et voyez quel est le résultat.

Choses dont il faut se rappeler
- Ce n'est pas une fonction, mais c'est un opérateur arithmétique.
- Il s'agit d'arrondir et d'arrondir les valeurs décimales, contrairement à la fonction MOD dans la fonction de feuille de calcul.