Problème boucle do while

  • Initiateur de la discussion Initiateur de la discussion Mazamune
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Mazamune

XLDnaute Nouveau
Bonjour, je suis actuellement sur une petite application excel et j'ai un soucis au niveau d'une boucle do while qui ne s'arrète pas alors que le test en début de boucle devrait l'arréter...

Voilà le morceau de code de cette boucle :

Do While i <= max

'If Range("B" & i).Value = "" Then
'erreur = 1
'MsgBox "Veuillez renseigner correctement la cellule B " & i & "."
'Exit Sub
'End If

If Range("E" & i).Value = "" And Range("B" & i).Value <> "" Then
erreur = 1
MsgBox "Veuillez renseigner correctement la cellule E " & i & "."
Exit Sub
End If

If Range("F" & i).Value = "" And Range("B" & i).Value <> "" Then
erreur = 1
MsgBox "Veuillez renseigner correctement la cellule F " & i & "."
Exit Sub
End If

If Range("G" & i) = "" And Range("B" & i).Value <> "" Then
erreur = 1
MsgBox "Veuillez renseigner correctement la cellule G " & i & "."
Exit Sub
End If

If Range("H" & i) <> "R23" And Range("G" & i) = "oui" Then

somme = somme + Range("F" & i)

End If

i = i + 1
Loop

Pour commentaire, cette boucle ne fait que des tests sur des cases, i est la valeur qui s'incrémente et "max" est la valeur maximale que i peut prendre.

Par exemple ici, j'ai max = 9 et pour cette boucle (à l'aide de l'espion en début de ligne et de msgbox de valeur de i et max), j'arrive à des trucs genre i = 10 et max = 9 et ça reste dans la boucle ... si quelqu'un peut m'éclairer là dessus, merci.
 
Re : Problème boucle do while

Bonjour mazamune

pas tout compris de ton code, pas sur d'avoir la totalité, un petit fichier eut été sans doute utile. Je ne vois pas l'initialisation de ta variable "max", regarde l'exemple ci dessous, si il peut t'aider :

Code:
Option Explicit
Sub test()
Dim monmax As Byte, i As Byte
monmax = 4
Do While i <= monmax
    MsgBox i
    i = i + 1
Loop
End Sub

bon après midi
@+
 
Re : Problème boucle do while

Oui mais en fait c'est un extrait de mon code, biensur j'ai initialisé les variables, voici l'extrait du début du prog :

Dim i, erreur, somme, max As String

erreur = 0
max = ActiveSheet.Range("T1").Value
i = 5

Pour info, i = 5 car le traitement commence à la ligne 5, max = range de cellule car le nombre de ligne max est variable mais il est renseigné dans cette case (par une autre fonction, hors de celle là, qui remplis son rôle).

Ah et autre info, sur l'ordinateur fixe où je suis actuellement, je suis sous windows XP et office 2000.

Edit : OK, c'est bon, j'ai corrigé mon problème, topic clos.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
476
Réponses
5
Affichages
784
Réponses
4
Affichages
648
Réponses
10
Affichages
584
Réponses
5
Affichages
511
Retour