IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Boucle While avec nombre variable de conditions


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    84
    Points
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2012
    Messages : 84
    Points : 78
    Par défaut Boucle While avec nombre variable de conditions
    Bonjour,

    Je voudrais faire une boucle while avec un nombre variable de conditions. Je m'explique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Dim Nom As String
    Dim Enfants() As String
     
    If Nom = Patrick Then
    <div style="margin-left:40px">ReDim Enfants(3)
    Enfants(1) = Jacques
    Enfants(2) = Jean
    Enfants(3) = Pierre</div>ElseIf Nom = Corinne Then
    <div style="margin-left:40px">ReDim Enfants(1)
    Enfants(1) = Charlotte</div>End If
    ' Maintenant j' ai une liste de prenoms tres tres longue et je voudrais savoir quand apparait pour la premiere fois le nom d un des enfants
    Do While InStr(ListeEnfant, Enfants(1)) = 0 And InStr(ListeEnfant, Enfants(2))=0 ' ... etc 
    ' est ce que la au lieu d ecrire toutes les conditions du while je ne peux pas dire a mon programme si le parent a 10 enfants alors fais une boucle while a 10 conditions ?
    Ma question est donc : ne peut on pas faire une boucle while avec un nombre de conditions dynamiques ? Si la personne a 50 enfants je ne vais pas ecrire une boucle while avec 50 conditions a la main ! Non ?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Points
    14 363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Points : 14 363
    Par défaut
    Bonjour,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        For i = LBound(Enfants) To UBound(Enfants) - 1
            If InStr(ListeEnfant, Enfants(i)) = 0 And InStr(ListeEnfant, Enfants(i + 1)) = 0 Then
                'ce que tu veux faire
            End If
        Next i

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    84
    Points
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2012
    Messages : 84
    Points : 78
    Par défaut
    Merci pour cette solution. C'est ce que j avais fini par faire en un peu différent mais sur le même principe ( for et if)

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exécuter 2 boucles while avec deux variables en même temps.
    Par gagnant16 dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 16/04/2014, 23h04
  2. Réponses: 2
    Dernier message: 14/04/2010, 19h39
  3. Boucle while avec 2 conditions OU
    Par loonis dans le forum Prolog
    Réponses: 4
    Dernier message: 25/05/2009, 23h05
  4. Boucles imbriquées en nombre variable
    Par lebelge dans le forum Fortran
    Réponses: 5
    Dernier message: 05/07/2007, 15h58
  5. Boucle while avec action sur table SQL
    Par kamikazbe dans le forum JDBC
    Réponses: 4
    Dernier message: 01/06/2007, 12h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo