Type de variable entier (Int)
Le VBA Int Le type de données est utilisé pour stocker des nombres entiers (pas de valeurs décimales). Cependant, comme nous le verrons ci-dessous, les valeurs entières doivent se situer dans la plage ‑32768 à 32768.
Pour déclarer une variable Int, vous utilisez l'instruction Dim (abréviation de Dimension) :
1 | Dim intA en tant qu'entier |
Ensuite, pour attribuer une valeur à une variable, utilisez simplement le signe égal :
1 | intA = 30000 |
Mettre ceci dans une procédure ressemble à ceci :
12345678 | Sub IntExample()'déclare l'entierDim intA en tant qu'entier'remplir l'entierintA = 30000'afficher la boîte de messageMsgBox intAFin du sous-marin |
Si vous exécutez le code ci-dessus, la boîte de message suivante s'affichera.
Type de variable longue
Comme mentionné ci-dessus, les variables Int ne peuvent stocker que des valeurs comprises entre ‑32768 et 32768. Si vous essayez d'attribuer une valeur en dehors de cette plage à une variable Int, vous recevrez une erreur :
Lorsque vous cliquez sur de-bug, le code se cassera au 'remplir la ligne entière car un entier ne peut pas stocker un nombre aussi élevé que 50000.
Au lieu de cela, vous pouvez déclarer une variable avec le Longue Type de données:
1 | Dim longA as Long |
Les variables longues peuvent stocker des types de données très longs (-2 147 483 648 à 2 147 483 648).
<>
Pourquoi utiliser des variables Int au lieu de variables Long ?
Les variables longues utilisent plus de mémoire. Il y a des années, la mémoire était une grande préoccupation lors de l'écriture de code, mais maintenant la technologie informatique s'est beaucoup améliorée et il est peu probable que vous rencontriez des problèmes de mémoire causés par de longues variables lors de l'écriture de code VBA.
Nous vous recommandons de toujours utiliser des variables Long au lieu de variables Int. Nous continuerons ce didacticiel en discutant des variables Int, mais gardez à l'esprit que vous pouvez utiliser le type de variable Long à la place.
Valeurs décimales et types de données entiers
Les variables Int ne peuvent pas stocker de valeurs décimales. Si vous passez un nombre décimal à un entier, le nombre décimal sera arrondi pour supprimer la décimale.
Par conséquent, si vous deviez exécuter la procédure ci-dessous :
12345678 | Sous-IntExampleB()'déclare l'entierDim intA en tant qu'entier'remplir l'entierintA = 3524,12'afficher la boîte de messageMsgBox intAFin du sous-marin |
Vous obtiendrez le résultat suivant (arrondi à l'inférieur) :
Cependant, ce code ci-dessous:
12345678 | Sous-IntExampleB()'déclare l'entierDim intA en tant qu'entier'remplir l'entierintA = 3524,52'afficher la boîte de messageMsgBox intAFin du sous-marin |
Renvoierait la boîte de message suivante (arrondi au supérieur) :
Type de données décimal/double
Si vous souhaitez stocker une décimale, vous devez déclarer une variable qui autorise les décimales. Vous pouvez utiliser 3 types de données : simple, double ou monétaire.
1 | Dim sngPrice en tant que single |
1 | Dim dblPrice en tant que double |
1 | Dim curPrice comme devise |
Le type de données Single arrondira le point décimal légèrement différemment du type de données double et de devise, il est donc préférable d'utiliser double à simple pour plus de précision. Un double peut avoir jusqu'à 12 décimales tandis que la monnaie et le single peuvent tous deux avoir jusqu'à 4 décimales.
Pour plus d'informations sur ces types de données, vous pouvez consulter ici.
Déclarer la variable Int au niveau du module ou global
Dans les exemples précédents, nous avons déclaré la variable Int dans une procédure. Les variables déclarées avec une procédure ne peuvent être utilisées que dans cette procédure.
Au lieu de cela, vous pouvez déclarer des variables Int au niveau du module ou global.
Niveau du module
Niveau du module les variables sont déclarées en haut des modules de code avec le Faible déclaration.
Ces variables peuvent être utilisées avec n'importe quelle procédure dans ce module de code.
Niveau mondial
Niveau mondial les variables sont également déclarées en haut des modules de code. Cependant, au lieu d'utiliser le Faible déclaration, utilisez le Publique déclaration pour indiquer que la variable entière est disponible pour être utilisée tout au long de votre projet VBA.
1 | Public IntA en tant qu'entier |
Si vous deviez déclarer l'entier au niveau d'un module, puis essayer de l'utiliser dans un module différent, une erreur se produirait.
Cependant, si vous aviez utilisé le mot clé Public pour déclarer l'entier, l'erreur ne se produirait pas et la procédure se déroulerait parfaitement.
Convertir la chaîne en entier
Il peut y avoir une ou plusieurs instances où vous devrez convertir un nombre stocké sous forme de chaîne en une valeur entière.
Vous remarquerez dans la fenêtre immédiate que la valeur entière va vers la droite indiquant un nombre, tandis que la valeur de la chaîne va vers la gauche - indiquant le texte.
Convertir un entier en chaîne
Inversement, vous pouvez convertir une valeur entière en chaîne.
Pour plus d'informations sur ces types de données, vous pouvez consulter ici.
Format Entier stocké sous forme de chaîne
<>