Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Probleme macro boucle While

juju782

XLDnaute Nouveau
Bonjour
j'ai un exo qui me pose probleme

On me demande ce qui est affiché par MsgBox lorsque
l'utilisateur rentre le nombre 1,5 pour la macro suivante


Sub essai()
Dim i as integer
Dim u as double
u=InputBox( "Entrez un nombre" )
i=5
While i>0
u=2*u-i
i=i-2
Wend
MsgBox (u)
End Sub

La reponse est -15 mais je ne comprend pas car
pour la derniere étape on trouve:

u=2.(-7)-1 = -15
et i=-1

or i<0 et ne respecte donc pas la condition, on ne devrait pas plutot prendre le u précedent ( a savoir u=-7) ?
 

pierrejean

XLDnaute Barbatruc
Re : Probleme macro boucle While

bonjour juju782

et bienvenue sur XLD

La macro s'arrête bien lorsque i n'est plus > 0
(le calcul de i est fait apres le calcul de u )

Salut Pierrot
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Probleme macro boucle While

Re
Je me repete:

i est calculé apres u
lorsqu'il vaut -1 , il n'est plus utilisé
fait les calculs a la main sune feuille en suivant le processus pour t'en convaincre
La derniere valeur de i utilisée est 1
u=2*-7-1=-15
Si la valeur de i utilisée etait -1 on aurait
u=2*-7--1=-13
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…