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 :

Remplacer Goto line


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Par défaut Remplacer Goto line
    Bonjour tout le monde. Cela va sembler facile pour beaucoup d'entre vous mais les divers tests que j'ai fait ne fonctionne pas !!

    Dans mon code je souhaite remplacer le Goto line par une boucle "Do while" ou autre.

    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
    30
     
    line1:
        Windows("0-Base de données _ SAE.xlsx").Activate
        Base1a = Cells(a, 1)
        Base12a = Cells(a, 12)
        Base13a = Cells(a, 13)
        Base14a = Cells(a, 14)
        Base16a = Cells(a, 16)
        Base18a = Cells(a, 18)
     
        Windows("0-bdd réception _ SAE.xlsx").Activate
        Base1b = Cells(a, 1)
        Base12b = Cells(a, 12)
        Base13b = Cells(a, 13)
        Base14b = Cells(a, 14)
        Base16b = Cells(a, 16)
        Base18b = Cells(a, 18)
     
        If Base1a <> "" Then
            If Base18b = Base18a And Base16b = Base16a And Base14b = Base14a And Base13b = Base13a And Base12b = Base12a Then
                a = a + 1
                GoTo line1
            Else
                 ....
                 ....
            End If
        Else
               ....
               ....
        End If
    Merci de vos lumières !

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    En supposant que ta variable "a" est initialisée à 1.

    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
    Do
        ....
        If Base1a <> "" Then
            If Base18b = Base18a And Base16b = Base16a And Base14b = Base14a And Base13b = Base13a And Base12b = Base12a Then
                a = a + 1
            Else
                 ....
                 ....
                Exit Do
            End If
        Else
             ....
             ....
             Exit Do
        End If
    Loop
    A lire : https://docs.microsoft.com/fr-fr/off...loop-statement

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Par défaut
    Citation Envoyé par Menhir Voir le message
    En supposant que ta variable "a" est initialisée à 1.

    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
    Do
        ....
        If Base1a <> "" Then
            If Base18b = Base18a And Base16b = Base16a And Base14b = Base14a And Base13b = Base13a And Base12b = Base12a Then
                a = a + 1
            Else
                 ....
                 ....
                Exit Do
            End If
        Else
             ....
             ....
             Exit Do
        End If
    Loop
    A lire : https://docs.microsoft.com/fr-fr/off...loop-statement
    Avec ton code, peu importe à combien est initiliasé ma variable non ? Car ma variable est initialement déclaré à 2

  4. #4
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 575
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    For a = 1 To 10
        Base1b = Cells(a, 1)
        Base12b = Cells(a, 12)
        Base13b = Cells(a, 13)
        Base14b = Cells(a, 14)
        Base16b = Cells(a, 16)
        Base18b = Cells(a, 18)
        If Base1a = "" Then Exit For
          If Not (Base18b = Base18a And Base16b = Base16a And Base14b = Base14a And Base13b = Base13a And Base12b = Base12a) Then
     
    '             ....
    '             ....
            End If
    Next

Discussions similaires

  1. Réponses: 11
    Dernier message: 24/01/2019, 07h52
  2. Comment remplacer Goto
    Par nananinanana dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/02/2017, 15h59
  3. Réponses: 2
    Dernier message: 12/06/2011, 07h34
  4. remplacer le goto
    Par Halobox dans le forum C
    Réponses: 16
    Dernier message: 28/09/2005, 23h49

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