VBA Double

Type de données double Excel VBA

VBA Double est un type de type de données que nous attribuons pour déclarer des variables, qui est une version améliorée ou plus longue de la variable de type de données «Single» et est généralement utilisé pour stocker des décimales plus longues.

Le type de données VBA Integer convertit toujours les valeurs décimales en valeur entière la plus proche, le type de données unique peut afficher jusqu'à deux chiffres de décimales. D'autre part, le type de données «Double» peut stocker des valeurs de -1,79769313486231E308 à -4,94065645841247E324 pour des valeurs négatives et pour des nombres positifs, il peut stocker des valeurs de 4,94065645841247E-324 à 1,79769313486232E308 .

Plus important encore, il consomme 8 octets de mémoire.

Exemples d'utilisation du type de données double VBA

Vous pouvez télécharger ce modèle VBA Double Excel ici - Modèle VBA Double Excel

Exemple 1

Avant de voir l'exemple de type de données «Double», regardons les exemples de codes de type de données «Integer» et «Single» dans VBA. Regardez le code VBA ci-dessous.

Code:

 Sub Integer_Ex () Dim k As Integer k = 2.569999947164 MsgBox k End Sub 

J'ai déclaré la variable «k» comme Integer et pour cette variable, j'ai attribué la valeur 2,569999947164.

Exécutons ce code manuellement ou en utilisant la touche de raccourci Excel F5, pour voir la valeur finale dans la boîte de message dans VBA.

Le résultat est affiché comme 3 au lieu du nombre fourni de 2,569999947164. La raison parce que VBA a converti le nombre en valeur entière la plus proche, à savoir 3.

Lorsque la valeur décimale est supérieure à 0,5, elle sera convertie en valeur entière suivante et lorsque la valeur décimale est inférieure à 0,51, elle sera convertie en valeur inférieure à l'entier.

Maintenant, je vais changer le type de données d'Integer en Single.

Code:

 Sub Integer_Ex () Dim k As Single k = 2,569999947164 MsgBox k End Sub 

Exécutez le code via la touche de raccourci F5 et voyez quel numéro nous obtenons cette fois-ci.

Cette fois, nous avons obtenu le résultat 2,57, donc cette fois nous avons obtenu deux décimales. La valeur d'origine que nous avons attribuée était 2,569999947164, donc dans ce cas, troisième, la valeur décimale placée est 9, donc comme c'est plus de 5, il a converti la deuxième valeur décimale de 6 en 7.

Modifiez maintenant le type de données de Simple à Double.

Code:

 Sub Integer_Ex () Dim k As Double k = 2,569999947164 MsgBox k End Sub 

Maintenant, exécutez le code manuellement et voyez combien de chiffres nous obtenons dans le résultat de la boîte de message.

Cette fois, j'ai toutes les valeurs décimales. Nous pouvons fournir jusqu'à 14 chiffres de décimales sous le type de données Double.

Si vous fournissez une valeur supérieure à 14 décimales, la position sera convertie en valeur la plus proche. Pour un exemple, regardez l'image ci-dessous.

J'ai tapé 15 décimales au lieu de 14, si j'appuie sur la touche Entrée, il sera de retour à 14 chiffres seulement.

Au lieu de 59 (deux derniers chiffres), nous avons obtenu 6, c'est-à-dire que le dernier chiffre est 9 qui est supérieur à 5 le numéro précédent 5 est converti en valeur entière suivante, soit 6

Exemple # 2

Maintenant, je vais montrer comment travailler avec la référence de cellule dans une feuille de calcul. Voici les nombres que j'ai entrés dans la feuille de calcul.

Commençons par capturer les mêmes valeurs au suivant en utilisant le type de données INTEGER, le type de données SINGLE et le type DOUBLE .

Vous trouverez ci-dessous le code permettant de conserver les valeurs de la colonne A à B en utilisant le type de données INTEGER.

Code:

 Sub Double_Ex () Dim k As Integer Dim CellValue As Integer For k = 1 To 6 CellValue = Cells (k, 1) .Value Cells (k, 2) .Value = CellValue Next k End Sub 

Exécutons le code via la touche de raccourci F5, pour voir quelles valeurs nous obtenons dans la colonne B.

Lorsque nous avons utilisé Integer comme type de données, nous avons obtenu tous les nombres entiers, c'est-à-dire sans décimales.

Maintenant, je vais simplement changer le type de données vba d'une variable d'entier en Single.

Code:

 Sub Double_Ex () Dim k As Integer Dim CellValue As Single For k = 1 To 6 CellValue = Cells (k, 1) .Value Cells (k, 2) .Value = CellValue Next k End Sub 

Ce code donnera le résultat ci-dessous.

Cette fois, nous n'avons que deux décimales.

Modifie maintenant le type de données de simple à double.

Code:

 Sub Double_Ex () Dim k As Integer Dim CellValue As Double For k = 1 To 6 CellValue = Cells (k, 1) .Value Cells (k, 2) .Value = CellValue Next k End Sub 

Cela renverra le résultat ci-dessous.

Nous avons des valeurs exactes de la colonne A.

Choses à retenir

  • Double est un type de données amélioré de type de données unique.
  • Il peut contenir jusqu'à 14 décimales.
  • Il consomme 8 octets de mémoire système.