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 :

Macro s'execute 2 fois


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Macro s'execute 2 fois
    Bonjour,

    J'ai deux macros : "Gauche" et "Monstres" :

    Quand je lance "monstre" à partir d'un bouton, tout fonctionne correctement.

    Le problème survient lorsque je lance "Monstres" à partir de "Gauche". Çà me parait incohérent...

    Gauche :
    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
     
    Sub gauche()
    Application.Run "startUp()"
    If (Cells(xMax, yMin).Value <> "_/\_") Then
        For i = yMin To yMax + 1
            Cells(xMax, i).Value = Cells(xMax, i + 1).Value
        Next i
    Else
        Cells(xMax, yMin).Value = ""
        Cells(xMax, yMax).Value = "_/\_"
    End If
     
    Application.Run "monstres()"
    Application.Run "balles()"
    End Sub
    Monstres :

    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
    25
    26
    27
    28
    29
     
    Sub monstres()
    MsgBox "debtut mosntersd"
    xMin = 101
    xMax = 120
     
    yMax = 21
    yMin = 2
     
    For x = xMin To xMax
        For y = yMin To yMax
            gx = xMax - x + xMin
            If Cells(gx, y).Value = "O" Then
                'Monstre sur la derrnière ligne
                If gx = xMax - 1 Then
                    MsgBox "perdu"
                ' monstre deant une balle
                ElseIf (Cells(gx + 1, y).Value = "|") Or (Cells(gx + 1, y).Value = "||") Or (Cells(gx + 1, y).Value = "|||") Then
                    Cells(gx, y).Value = ""
                    Cells(gx + 1, y).Value = ""
                'Monstre devantn rien
                Else
                    Cells(gx, y).Value = ""
                    Cells(gx + 1, y).Value = "O"
                End If
            End If
        Next y
    Next x
    End Sub
    En me renseignant, j'ai vu que le problème aurait pu venir des "next", c'est pourquoi j'ai transformé les deux "next" en "next x" et "next y", mais le problème persiste toujours.

    Merci
    Dernière modification par Invité ; 08/07/2019 à 14h49.

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

Discussions similaires

  1. empêcher l'execution d'une macro plus d'une fois
    Par ouioui_cmoi dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/03/2008, 18h10
  2. Réponses: 1
    Dernier message: 03/12/2006, 16h13
  3. Réponses: 5
    Dernier message: 12/03/2006, 19h40
  4. [VBA-W] Executer plusieurs fois la même procédure
    Par delamarque dans le forum VBA Word
    Réponses: 3
    Dernier message: 05/12/2005, 13h39
  5. code qui s'execute plusieurs fois
    Par khelif dans le forum JBuilder
    Réponses: 1
    Dernier message: 10/03/2005, 21h56

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