Je débute en VBA et je tombe sur cet exercice entièrement rédigé dont je peine à comprendre une ligne :
La procédure suivante calcule la somme des n premiers entiers :
Sub SommeEntiers()
Dim somme As Integer
Dim compteur As Integer
Dim n As Integer
n = InputBox("Donner un entier :", "Saisie entier")
For compteur = 1 To n somme = somme + compteur
Next compteur
Call MsgBox("Somme des " & n & " premiers entiers : " & somme)
End Sub
Je ne comprends pas bien la ligne que j'ai mise en gras. On dit que somme prend sa valeur + celle du compteur mais étant donné que l'on n'a jamais donné de valeur initiale à cette variable somme, je ne comprends pas comment le programme arrive à comprendre ce qu'il faut faire ?? Je ne sais pas si je suis claire, mais en tout cas j'ai vraiment du mal à comprendre cette ligne.
Merci à quiconque pourra bien me comprendre et m'éclairer lol
Bonjour Shanon,
Le VBA est très permissif aux dires de beaucoup. Il permet pas mal de légèretés.
Par exemple vous n'êtes pas obliger de déclarer les variables, ou les déclarer sans les typer ....
Si vous n'initialisez pas vos variables elles prennent leurs valeurs par défaut 0 si le type est numérique, "" si elles sont de type texte ...
En toute rigueur, la bonne écriture eût été :
Est-ce qu'il ne faudrait pas écrire somme = 0 pour l'initialiser, juste avant d'écrire la boucle for ?
Ou bien est-ce que par défaut, la valeur d'une variable à laquelle aucune valeur n'est affectée est 0, donc inutile de le préciser ?
donc au lancement de la macro elle est égale à zéro par défaut
Cette variable est déclarée en integer ( entier jusqu'à 32767)
attention si une valeur n'est pas entière , ca va pas le faire( erreur dépassement de capacité)
Je l'aurais déclaré en double pour éviter ce pb
pour t'aider : sélectionnes integer et touche F1 pour l'aide
Bonjour Shanon,
Le VBA est très permissif aux dires de beaucoup. Il permet pas mal de légèretés.
Par exemple vous n'êtes pas obliger de déclarer les variables, ou les déclarer sans les typer ....
Si vous n'initialisez pas vos variables elles prennent leurs valeurs par défaut 0 si le type est numérique, "" si elles sont de type texte ...
En toute rigueur, la bonne écriture eût été :
@shanon
Ne pas hésiter à dérouler le code.
Taper successivement sur F8 dès le début du code et positionnez votre souris sur la valeur prise par une variable (comme "somme"). Quand on fait des boucles, ça reste utile.
@shanon
Ne pas hésiter à dérouler le code.
Taper successivement sur F8 dès le début du code et positionnez votre souris sur la valeur prise par une variable (comme "somme"). Quand on fait des boucles, ça reste utile.