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 :

Loop ou For ou While


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut Loop ou For ou While
    Bonjour

    Dans un code en VBA , qu'est ce qui nous amène a préferer une boucle loop plutot qu'une boucle For ou While, et réciproquement?

    Quels sont les critères qui peuvent guider nos choix?

    Merci

  2. #2
    Membre éprouvé
    Inscrit en
    Janvier 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Janvier 2007
    Messages : 132
    Par défaut
    Bonjour
    En ce qui me concerne, j'utilise un For I ... Next quand j'ai une suite logique, càd quand je vais me servir de I comme point d'entrée
    J'utilise un Do.. Loop While ou un Do While ... Loop quand les variables varient(c'est le cas de le dire) de manière un peu "désordonnée", ou quand je ne connais pas la fin de ma boucle:
    par exemple pour lire une colonne de cellules sans connaitre le nombre de lignes
    Le For Next est le point d'entrée "facile", après qq temps on se rends compte qu'il est plus pratique de gérer des Do While même si l'utilisation est un peu plus complexe, mais en même temps plus puissante
    Slts
    PS: n'hésites pas à en redemander... des conseils bien sur, en fonction des cas que tu rencontreras

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Citation Envoyé par deubelte
    Bonjour

    Dans un code en VBA , qu'est ce qui nous amène a préferer une boucle loop plutot qu'une boucle For ou While, et réciproquement?

    Quels sont les critères qui peuvent guider nos choix?

    Merci
    Salut
    En premier : l'habitude
    J'utilise le plus souvent For... next : c'est compréhensible par pratiquement tout le monde, et on visualise les limites de la boucle et son évolution dès la première ligne.

    Ensuite Do... Loop Until (Until ne servant que de garde-barrière) pour les multi-sorties de boucle ou si le critère d'évolution de la variable peut subir des modifications.

    Sauf cas très rares, je n'utilise pas les autres, juste dans un but de clareté : Je travaille souvent sur des forums, et l'utilisation de multiples systèmes de bouclage complique le travail de maintenance pour les néophytes, sans gain réel avéré.
    A+

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Qu'est-ce qui te conduit à choisir une mêche à métaux, plutôt qu'à bois ou à béton ? ===>>> facile si tu ne considères que le matériau à attaquer. Moins si le matériau n'est ni du métal, ni du bois, ni du béton. C'est alors qu'intervient chez chacun le sens de ce qui devrait mieux convenir en fonction de ce qu'on cherche à faire. Ce "sens" est celui d'un esprit clair et le choix de la mêche ne répond pas toujours au principe d'une simple "récitation".
    Le développement informatique, quant à lui, est à plus de 80 % un travail de conception spirituelle, à environ 15 % de l'expression organisée, tout le reste n'étant que pure récitation.

    Bonne continuation...

  5. #5
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    C'est la logique de ton programme qui le détermine. Si tu peux dire en langage clair une des expressions suivante...

    Pour chaque item d'une suite connue, tu utilises une boucle For Next;
    Tant que telle condition n'est pas remplie, tu utilises une boucle Do Loop avec un While;
    Effectuer une action (ou une suite d'actions) jusqu'à ce que telle condition soit remplie, tu utilises alors une Boucle Do Loop avec un Until;
    Pour chaque objet d'une collection, vérifier ceci et/ou faire cela, tu utilise une boucle For Each Next.

    La boucle While Wend est toujours supportée. C'est l'ancêtre des boucles Do Loop avec clause While ou Until.

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

Discussions similaires

  1. [MySQL] petit problème avec le (for et while)
    Par kazylax dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 16/09/2009, 10h22
  2. Boucle For et While
    Par mairou dans le forum Débuter
    Réponses: 6
    Dernier message: 20/09/2008, 20h33
  3. for(;;) ou while(true) ?
    Par diva_69 dans le forum Langages de programmation
    Réponses: 60
    Dernier message: 05/02/2008, 23h17
  4. [Optimisation] Boucles for ou while et mysql_result ?
    Par sorenson dans le forum Langage
    Réponses: 5
    Dernier message: 22/12/2006, 09h55

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