Limite par défaut boucle while wend

Résolu
dedoche2 Messages postés 5 Date d'inscription dimanche 7 janvier 2007 Statut Membre Dernière intervention 23 janvier 2010 - 7 janv. 2007 à 14:39
dedoche2 Messages postés 5 Date d'inscription dimanche 7 janvier 2007 Statut Membre Dernière intervention 23 janvier 2010 - 9 janv. 2007 à 19:30
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

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
7 janv. 2007 à 15:01
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 #
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
7 janv. 2007 à 14:41
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"
<!--
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
7 janv. 2007 à 14:45
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...
0
dedoche2 Messages postés 5 Date d'inscription dimanche 7 janvier 2007 Statut Membre Dernière intervention 23 janvier 2010
9 janv. 2007 à 19:30
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
0
Rejoignez-nous