Rechercher : dans
Par :

Excel VBA Sortir de boucle for

Dernière réponse le 28 aoû 2009 à 08:54:15 kikiben84, le 14 jan 2009 à 10:54:49 
 Signaler ce message aux modérateurs

Bonjour,
je voudrais savoir s'il est possible
de sortir d'une boucle for ou plus exactement de passer
à l'enregistrement suivant, çad :

for i=... to ...

if(..) then

(....)

et passe directement au suivant sans terminer les instructions de la boucle for

j'ai essayé en mettant Next juste avant le End if mais il me dit qu'il ne trouve pas le for

d'avance merci

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « Excel VBA Sortir de boucle for » dans :
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...

1

LePierre, le 14 jan 2009 à 11:20:43

Bonjour

utilise : exit for

à plus

Répondre à LePierre

2

kikiben84, le 14 jan 2009 à 11:32:33

Re
Merci pour la réponse rapide !
Le problème est qu'avec l'exit for le programme sort complètement du for sans passer à l'itération suivante, moi ce que je voudrais en fait c'est qu'il n'aille pas jusqu'au Next 'tout en bas du programme' mais il incrémente mon i. en fait c pas exactement sortir du for... arf

Répondre à kikiben84

3

LePierre, le 14 jan 2009 à 13:52:46

Bonjour

Le passage par Next me semble obligatoire. Il faut organiser ton programme ainsi :
For i=... to ....
....
if condition=... then
...
else
....
end if
Next i

Si tu mettais un bout de code à télécharger, on verrait peut être mieux ton problème.

à plus

Répondre à LePierre

4

kikiben84, le 14 jan 2009 à 15:44:00

    For NumDesigner = 2 To Designer
        NomDesigner = Sheets("Programm").Cells(NumDesigner, 5).Value
        j = pdt

        For i = ppl To dpl
            If Sheets("PL").Cells(i, 7).Value = NomDesigner _
               And Sheets("PL").Cells(i, 14).Value = Date Then
            
          '('Ici le programme réalise des copiers collers et des mises en formes de
             sheets et de cellules')

                j = j + 1

            End If

        Next
        
    'Si aucun copier coller n'a été fait alor j n'a pas changé de valeur
        If j = pdt Then
            While Sheets(NomDesigner).Cells(j, 1).Value <> 0
                DoEvents
                Sheets(NomDesigner).Rows(j).Delete
            Wend
            MsgBox " pas d'actions à réaliser pour pour ce designer"
            ThisWorkbook.Sheets(NomDesigner).Protect
           Next i 'c'est ici que je veux sortir de la première boucle for mais ce 
next me pose problème et VBA me dit qu'il n'y a pas de For pour ce next
        End If

    '('Ensuite il y a encore des copiers collers et des mises en forme à faire que je veux
        eviter de faire si j n'a pas été incrémenté')

    Next


Mon programme étant très long j'ai essayé de laisser que le nécessaire, n'étant pas un grand informaticien je me suis renseigner et on ma parler de Go To ou Break à la place de mon next i qui me pose problème mais ca ne marche pas
J'espère que la compréhension sera plus facile
a+

Répondre à kikiben84

5

kikiben84, le 14 jan 2009 à 16:01:31

Arghhhh.... j'ai un ami qui est repassé et qui m'a fait remarquer de tout simplement mettre un else: pour les actions qui suivent !

merci beaucoup pour tout
mille fois désolé

Répondre à kikiben84

6

 Champy69, le 28 aoû 2009 à 08:54:15

Bonjour sinon tu peut utiliser goto
pour l'utiliser tu met a la ligne que tu veu arriver
line1:................
et la ou tu veu faire sauter dans ton for tu met
goto line1
j'espere que sa pourrai aider certaine personne
saloute

Répondre à Champy69
Collection CommentÇaMarche.net