Les Allergies
Alimentaires
Posez votre question Signaler

Excel VBA Sortir de boucle for [Résolu]

kikiben84 - Dernière réponse le 28 août 2009 à 08:54
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
Lire la suite 

Excel VBA Sortir de boucle for »

6 réponses
Réponse
+6
moins plus
bonjour

utilise : exit for

à plus
Ajouter un commentaire
Réponse
+2
moins plus
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é
Ajouter un commentaire
Réponse
+0
moins plus
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
LePierre- 14 janv. 2009 à 13:52
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
Ajouter un commentaire
Réponse
+0
moins plus
    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+
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Ce document intitulé « Excel VBA Sortir de boucle for » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?