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 :

Suppression d'une macro VB par une macro : Problème " Mode Arrêt "


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Suppression d'une macro VB par une macro : Problème " Mode Arrêt "
    Bonjour,

    J'ai utilisé le code proposé par "SilkyRoad" à savoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    'Supprimer la macro nommée "MaMacro" dans le "module3"
    Sub supprimerUneMacroPrecise()
    Dim Debut As Integer, Lignes As Integer
     
        With ThisWorkbook.VBProject.VBComponents("Module3").CodeModule
            Debut = .ProcStartLine("MaMacro", 0)
            Lignes = .ProcCountLines("MaMacro", 0)
            .DeleteLines Debut, Lignes
        End With
    End Sub
    Toutefois j'ai un message d'erreur au passage de l'instruction
    <.DeleteLines Debut, Lignes> :

    "Impossible d'entrer en Mode Arrêt maintenant"

    Que je fasse Continuer ou Fin, la macro s'arrête bien qu'il y ai d'autres instructions à venir.
    Par contre l'instruction est bien prise en compte. Ma macro est supprimée.

    Quelqu'un peut-il me dire comment faire pour que l'exécution du programme se poursuive ?
    Merci par avance

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour &

    Je viens de tester le code et aucun message d'erreur, tout se passe correctement. Tu as bien une macro dans le Module3 qui se nomme "MaMacro" ?

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Oui la macro existe bien, d'autant qu'elle est correctement supprimée par le code.
    Le message d'erreur vient juste après le passage de l'instruction
    .DeleteLines Debut, Lignes
    qui a elle bien été prise en compte.

    Je viens toutefois de tester ce même code mais en supprimant une macro qui se trouve sur un AUTRE classeur EXCEL et ça fonctionne correctement.

    L'anomalie vient donc du fait que j'essaye de supprimer une macro qui se trouve sur le même "Projet" que la macro appelante ! (même si le module est différent). d'où le message de "point d'arrêt" !

    Peut-être existe t-il une instruction qui permette de modifier un projet tout en y faisant référence

    Merci pour ton test.

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Non je t'assure, tout se passe correctement, je viens de refaire le test un mettant ce code dans le module3 en question et il me supprime bien toutes les lignes de la macro Sub MaMacro() sans message d'erreur.

    Je te met en pièce jointe mon fichier de test, tu pourras constater qu'au départ j'ai une macro nommée MaMacro, imbriquée entre d'autres macros dans le module 3 et que celle-ci sera correctement supprimée. Cela te permettra de comparer les deux fichiers et de trouver peut-être d'où vient l'erreur

    Pièce jointe 30160

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    J'ai lancé la macro telle que à partir de ton fichier et chez moi ca ne fonctionne pas ! Etrange ...

    Je te fais suivre ce dernier dans lequel j'ai rajouté des copies d'écran avec le message d'erreur correspondant .
    Fichiers attachés Fichiers attachés

  6. #6
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Désolé, cela dépasse mais compétences, cela provient peut-être d'un paramètre ou une option coché chez moi et pas chez toi (ou l'inverse), de la version d'Excel (E2000 pour ma part)...j'en sais trop rien. Etrange comme tu dis, je suis curieux d'en connaître la raison.
    Espérons que quelqu'un soit plus inspiré.

  7. #7
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Je pense que l'inspiration n'est venue !!

    Celà vient tout simplement du fait que je teste la macro en "Pas à Pas"
    Lorsque je l'exécute directement ca fonctionne exactement comme il faut !!

    Le message "Mode Arrêt" est donc lié à la fonctionnalité de "Débogage"

    Merci à tous pour votre aide
    A plusieurs on fini par y arriver !

    Bonne journée

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Andouille ! Tu pouvais pas le dire ?
    (bonjour fring)

  9. #9
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    arf...viens ici...

    en plus je l'ai lu quelque part que ce code ne supportait pas le "pas à pas" mais pas pensé à aller dans cette direction (salut Ousk)

  10. #10
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Pour le dire encore fallait-il savoir que le programme pouvait répondre différement en mode Excecution par rapport au mode Debogage !!

    Maintenant je le sais. On ne m'y reprendra plus .

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 05/04/2011, 08h06
  2. non prise en compte d'une formule remplie par une macro
    Par mardona dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/06/2007, 15h08
  3. Réponses: 9
    Dernier message: 30/05/2006, 19h38
  4. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24
  5. [Excel] Utiliser une application externe par une macro
    Par thierry2.dlp dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/08/2005, 22h07

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