Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/10/2011, 11h57   #1
Membre régulier
 
Avatar de jubourbon
 
Homme
Inscription : octobre 2008
Messages : 349
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : octobre 2008
Messages : 349
Points : 96
Points : 96
Par défaut Boucle DO, incrementation si condition pas respectée

Bonjour,

J'ai une boucle Do... Loop dans mon code, et je souhaiterais que lorsque une condition n'est pas respecté je revienne au do.
Voici le code
Code :
1
2
3
4
5
6
7
8
 
Do Until iCOunt<=52
If maFonctionExterne()=false Then
iCount=iCOunt+1
Else
'Ici je souhaiterais retourner au Do
End If
Loop
J'ai essayé un Loop, un Next mais il ne veut pas. Quelqu'un à une idée.

D'avance merci.
jubourbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 15h12   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 475
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 475
Points : 7 564
Points : 7 564
Qu'entends-tu par revenir au Do ? Avec ton code actuel c'est déjà ce que tu fais.

Veux-tu reinitialiser la valeur de iCOunt ? Réévaluer la condition ? Ne rien faire dans le else sous condition ?

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 15h21   #3
Membre régulier
 
Avatar de jubourbon
 
Homme
Inscription : octobre 2008
Messages : 349
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : octobre 2008
Messages : 349
Points : 96
Points : 96
Oui désolé en relisant mon code je vois qu'il manque une partie importante

Le voici:
Code :
1
2
3
4
5
6
7
8
9
 
Do Until iCOunt<=52
If maFonctionExterne()=false Then
iCount=iCOunt+1
Else
'Ici je souhaiterais retourner au Do
End If
'Ici j'ai du code que je ne souhaite pas exécuter si je passe dans le else
Loop
Par conséquent, je ne souhaite pas exécuter le code après le if si je passe dans le else et revenir au do.
Je pourrait mettre un boolean, mais n'y a t il pas une instruction pour cela?
jubourbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 17h32   #4
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 475
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 475
Points : 7 564
Points : 7 564
Code :
1
2
3
4
5
6
7
8
9
10
11
Do Until iCOunt<=52
 
   If maFonctionExterne()=false Then
       iCount=iCOunt+1
       'Ici j'ai du code que je ne souhaite pas exécuter si je passe dans le else
     Else
       'Ici je souhaiterais retourner au Do
       'Ne rien faire
   End If
 
Loop
ou

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Do Until iCOunt<=52
 
   If maFonctionExterne()=false Then
       iCount=iCOunt+1
     Else
       'Ici je souhaiterais retourner au Do
       'Ne rien faire
   End If
 
   If maFonctionExterne()=false Then
       'Ici j'ai du code que je ne souhaite pas exécuter si je passe dans le else
   end if
 
Loop
Enfin la moins recommandée des solutions

Code :
1
2
3
4
5
6
7
8
9
10
11
Do Until iCOunt<=52
    If maFonctionExterne()=false Then
        iCount=iCOunt+1
       Else
         goto ProchainPas
     End If
 
     'Ici j'ai du code que je ne souhaite pas exécuter si je passe dans le else
 
:ProchainPas
Loop
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h31.


 
 
 
 
Partenaires

Hébergement Web