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 :

Ma procedure tourne en boucle


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Août 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2013
    Messages : 8
    Par défaut Ma procedure tourne en boucle
    voici une macro qui se trouve dans un module que j'ai purgé au maximum pour être plus lisibile


    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
    Sub supprdoublon()
     
        ligne = 2
    `TRACE
    Do While (ligne < 10)
     
     ligne = ligne + 1
     
     If (ligne > 5) Then
    `je mets un point d'arret ici pour voir si on y passe
     Exit Sub
     End If
     
     Loop
     
    End Sub
    et donc mon soucis est qu'on passe bien par EXIT SUB qui devrait sortir de la macro , mais dans mon cas, la macro se relance et redemarre au debut !
    j'y fais un simple appel via le menu d'excel des macros et en mode debogage

    j'ai tente ce code aussi :
    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
     
    Sub supprdoublon()
     
    Application.EnableEvents = False
     
        ligne = 2
    `TRACE
    Do While (ligne < 10)
     
     ligne = ligne + 1
     
     If (ligne > 5) Then
    `je mets un point d'arret ici pour voir si on y passe
     Exit Sub
     End If
     
     Loop
     Application.EnableEvents = True
    End Sub
    mais ça n'y change rien !

    Avez vous une idée?

    Merci de votre aide !

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    c'est pas la procédure le problème, elle fonctionne bien (même si telle quelle, elle ne sert à rien)

    en gros, elle sort par le Exit Sub et recommence à l'infini ?
    ça ne peut venir que de la procédure appelante qui l'appelle en boucle

    tu as trop épuré tes codes là, on peut pas savoir d'où ça vient

    t'as pas une macro qui appelle cette procédure dans une boucle du style While ou Until etc.. et qui l'appelle à l'infini car la sortie de boucle ne s'effectue pas ?

  3. #3
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Août 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2013
    Messages : 8
    Par défaut
    je l'appelle à partir du menu excel :

    DEVELOPPEUR=>MACRO=> exécuter pas à pas


    j'ai même essayé en l'affectant à un bouton que j'ai mis sur la feuille de calcul !

    Rien n'y a changé, toujours pareil !

    Ps : j'ai justement épuré le code, pour faire remarquer que ça ne provenait pas du code !

    ça doit être un truc à régler dans Excel mais quoi ?

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    bonjour,

    peu-être ton code est trop épuré ...

    rajoute tout en haut de ta page la ligne "Option Explicit" et déclare toutes tes variables...

  5. #5
    Membre émérite
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Par défaut
    Bonjour,
    Est-ce que ton sub supprdoublon est appeler dans l'évenement Worksheet_SelectionChange ?

  6. #6
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Août 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2013
    Messages : 8
    Par défaut
    Citation Envoyé par gnain Voir le message
    Bonjour,
    Est-ce que ton sub supprdoublon est appeler dans l'évenement Worksheet_SelectionChange ?
    pas à ma connaissance, ou est ce qu'on viot ça ?

  7. #7
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour.

    Citation Envoyé par gnain Voir le message
    Est-ce que ton sub supprdoublon est appeler dans l'évenement Worksheet_SelectionChange ?
    De toute manière après le malencontreux Exit Sub du second code les évènements sont désactivés …


    _____________________________________________________________________________________________________
    Je suis Charlie - Je suis Bardo

  8. #8
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Août 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2013
    Messages : 8
    Par défaut
    Citation Envoyé par bbil Voir le message
    bonjour,

    peu-être ton code est trop épuré ...

    rajoute tout en haut de ta page la ligne "Option Explicit" et déclare toutes tes variables...
    j'ai epuré le code, pour faire remarquer que ça se produisait avec un code tout bête !


    et donc après test et avec option explicit, ça fait la même chose !
    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
     
    Option Explicit
     
    Dim ligne As Integer
     
    Sub supprdoublon2()
     
    Application.EnableEvents = False
     
        ligne = 2
     
    Do While (ligne < 10)
     
     ligne = ligne + 1
     
     If (ligne > 5) Then
     
     Exit Sub
     End If
     
     Loop
     Application.EnableEvents = True
    End Sub
    Merci en tout cas de m'aider !

    pour information,

    je viens de tout fermer excel

    - creer une nouvelle feuille
    -creer une nouvelle macro
    j'ai mis ce code :
    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
     
    Option Explicit
     
    Dim ligne As Integer
     
    Sub supprdoublon2()
     
    Application.EnableEvents = False
     
        ligne = 2
     
    Do While (ligne < 10)
     
     ligne = ligne + 1
     
     If (ligne > 5) Then
     
     Exit Sub
     End If
     
     Loop
     Application.EnableEvents = True
    End Sub
    et ça fait la même chose !

  9. #9
    Membre émérite
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Par défaut
    Bonjour,
    normalement cela devrait fonctionné.
    met ton code épurer dans un nouveau classeur vierge, et essaie.

  10. #10
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Août 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2013
    Messages : 8
    Par défaut
    résultat identique !

    je n'y comprends vraiment rien !

Discussions similaires

  1. Pourquoi mon processus tourne en boucle ?
    Par cladsam dans le forum POSIX
    Réponses: 6
    Dernier message: 09/06/2011, 16h07
  2. Appel de procedure dans une boucle
    Par fusion_sadam dans le forum Access
    Réponses: 8
    Dernier message: 11/07/2006, 12h14
  3. [FLASH 8] Un SWF tourne en boucle : je ne veux pas !
    Par Olish dans le forum ActionScript 1 & ActionScript 2
    Réponses: 3
    Dernier message: 24/04/2006, 11h36
  4. Réponses: 1
    Dernier message: 19/12/2005, 13h00
  5. Pb de rand() qui tourne en boucle
    Par MadChris dans le forum MFC
    Réponses: 3
    Dernier message: 26/06/2004, 16h24

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