Limite par défaut boucle while wend [Résolu]

Signaler
Messages postés
5
Date d'inscription
dimanche 7 janvier 2007
Statut
Membre
Dernière intervention
23 janvier 2010
-
Messages postés
5
Date d'inscription
dimanche 7 janvier 2007
Statut
Membre
Dernière intervention
23 janvier 2010
-
Bonjour,
existe t-il à votre connaissance une limite
par défaut dans excel liée à l'usage d'une
boucle du type While wend?

Pour ma part, la boucle s'arrête à la 89eme
itération sans que je puisse me l'expliquer!

Par avance merci.
dedoche 2 

4 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Il n'y a pas de limite théorique à une boucle while car pas de compteur.

Les limites sont liées au code que tu y met dedans, et aux caractéristiques de ta machine (notamment en cas de fuite mémoire).

Si t'as boucle est codée correctement, elle pourra faire plusieurs milliards de cycles sans aucun problème, je parle par expérience.

Montre nous le code de la boucle

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

c'est pas vraiment normal. Je pense que la limite est l'Integer (nombre de lignes excel, soit 65536, mais sans aucune certitude)

Peux-tu nous indiquer ton code ?

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
L'explication est surement dans le code de ta boucle... et on ne le voit pas !....


Il est vraisemblable qu'à la 89èmme irération, la condition du while n'est plus présente... tout simplement...
Messages postés
5
Date d'inscription
dimanche 7 janvier 2007
Statut
Membre
Dernière intervention
23 janvier 2010

bonjour, et merci de bien vouloir m'aider un peu!
comme demandé un extrait du code qui plante après 89 itérations

j'ai eu qq pb avec mon PC d'où ma réponse tardive

par avance merci

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
compteur = 0
While norme > tol '1.e-9 par défaut
compteur = compteur + 1
'MatXold = MatXnew
For lig = 1 To P
For col = 1 To Q
    MatXold(lig, col) = MatXnew(lig, col)
Next col, lig


'X(k+1) = M * X(k) + C
For col = 1 To Q Step 1
    For lig = 1 To P Step 1
        For nn = 1 To P Step 1
        MatXnew(lig, col) = MatXnew(lig, col) + MatM(lig, nn) * MatXold(nn, col)
        Next nn
    Next lig
Next col


For col = 1 To Q Step 1
    For lig = 1 To P Step 1
    MatXnew(lig, col) = MatXnew(lig, col) + MatC(lig, col)
    Next lig
Next col


norme = 0  ' mise à zero de norme
For lig = 1 To P Step 1
col = Q
norme1 = (MatXnew(lig, col)) ^ 2 - (MatXold(lig, col)) ^ 2
norme1 = Abs(norme1)
norme1 = norme1 ^ (1 / 2)
If norme1 > norme Then norme = norme1
Next lig
DoEvents            'pour reprendre la main


Wend