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 :

fonction Do while : erreur


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2013
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 81
    Par défaut fonction Do while : erreur
    Bonjour,

    J'ai fait un code assez compliqué par rapport au niveau de ma question. Pour autant, cela me bloque, et j'apprécierais si quelqu'un pouvait m'aider. A la limite, je ne suis même pas sûr qu'il est nécessaire de comprendre le code pour me débloquer...

    Quand je lance le code plus bas, un message s'affiche : "Loop without Do". Pour autant j'ai mis un Do au début de ma boucle...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    'initialisation
    Cells(3, 2).Value = (Rnd() + (1 / PeriodesMax * 2)) / 2
     
    Do
     
        ' réinitialisation du processus par l'effacage des autres variables
        Range(Cells(3, 3), Cells(3, PeriodesMax)).Cells.Clear
        If WorksheetFunction.Sum(Range(Cells(3, 2), Cells(3, PeriodesMax - 1))) - Cells(3, 2) > 0.0001 Then
            Cells(3, 2) = Cells(3, 2) - 0.000001
        Else: Cells(3, 2) = Cells(3, 2) + 0.000001
        End If
     
     
        'récurrence pour calculer toutes les périodes nécessaires
        For i = 1 To PeriodesMax
            'Calcul de la somme à l'aide d'une boucle for
            For k = 1 To i - 1
                Somme = Cells(3, 2 + i - k).Value * Cells(3, 2 + k)
            Next k
     
        Cells(3, 2 + i).Value = Cells(3, 2).Value - Somme
     
    Loop Until Abs(WorksheetFunction.Sum(Range(Cells(3, 2), Cells(3, PeriodesMax - 1))) - Cells(3, 2)) > 0.0001

    Quelqu'un saurait-il m'aider ?

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je vois une anomalie dans ton code après une lecture rapide.
    Ligne 16 tu as une boucle avec I qui n'a pas de Next. Cette boucle étant dans ta boucle Do Loop le Next I doit être avant le Loop
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2013
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 81
    Par défaut
    Bonjour,

    Bien vu, j'aurais du regarder le reste de mon code au lieu d'être focalisé sur l'écriture du Do while.

    Mon code marche à présent (enfin, il ne génère pas d'erreur... reste à le changer pour que le résultat obtenu convienne


    Merci,
    Novice_vba

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

Discussions similaires

  1. Fonction start_session() affichage erreur
    Par kev484 dans le forum Langage
    Réponses: 8
    Dernier message: 19/12/2007, 21h52
  2. Fonction Compte() indique Erreur
    Par Spanish_ dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 22/11/2007, 12h47
  3. fonction ActiveWindow.Name erreur objet requis
    Par Davik dans le forum VBA Access
    Réponses: 5
    Dernier message: 09/02/2007, 11h08
  4. Fonction qui renvoie erreur dans mon état
    Par Daniel MOREAU dans le forum Access
    Réponses: 1
    Dernier message: 20/10/2005, 12h40
  5. fonction LAG et erreur PLS-00103. Oracle 8i
    Par henrirobert dans le forum Oracle
    Réponses: 7
    Dernier message: 26/05/2005, 16h03

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