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 :

[VBA-E] Code de feuille excel "fantôme"


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [VBA-E] Code de feuille excel "fantôme"
    Bonjour. Voici un résumé de la situation:

    Dans ma "solution" excel/VBA, il y avait une option pour supprimer des feuilles dynamiquement copiée au préalable. Ces feuilles copiées contenaient donc le code nécessaire pour se "suicider". Le problème que j'avais est que comme le code est en train de s'exécuter, la feuille excel elle même disparait mais pas le module de code qui lui est rattaché. De plus, ce module "fantôme" qui demeure ne peut être supprimé dans l'éditeur VBA d'aucune facon (connue).

    J'ai contourné le problème en insérrant un préfixe spécifique au début du nom des feuille que je "supprime" et en les cachant pour ensuite les supprimer de l'extérieur (de la feuille) lors de la sauvegarde du document Excel.

    Je ne génère ainsi plus de module "fantôme", mais je suis encore pris avec 6 d'entre eux qui sont apparu avant que je ne corrige le tir.

    Est-ce possible de les supprimer? Existe-t-il une méthode plus "propre" que la celle trouvée afin de "suicider" une feuille?

    Mais surtout: suis-je obliger de recréer un nouveau document en copiant le code module par module à l'intérieur du nouveau pour me débarrasser de ces modules non supprimable?

    Si quelqu'un a quelconque solution, merci de la partager!

    PS: Si mon message n'est pas clair -- ce qui est plus que possible compte tenu que je l'ai écris rapidement -- ne vous geinez pas pour demander des précisions. Merci

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    ce n'est pas évident de te répondre sans voir les procédures que tu utilises actuellement pour créer les feuilles et les macros de suppression associées


    bonne journée
    michel

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Dès mon retour au bureau, lundi, je vous copie le tout.

    Celon moi, la cause est que la suppression de la feuille, se fesait par un simple Sheets("LaFeuille").Delete était appellé par le code de cette même feuille, de là le "suicide" de la feuille. L'objet de la feuille lui-même peut être effacé mais pas le module de code qui est en cours d'exécution, de là le module "fantôme" qui n'est plus rattaché à aucun objet mais encore traité comme tel, donc non supprimable.

Discussions similaires

  1. Code VBA interrompu quand la feuille excel n'est pas active
    Par nianko dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/01/2013, 10h00
  2. [XL-2010] Code VBA pour comparer deux feuilles Excel
    Par sam013 dans le forum Excel
    Réponses: 1
    Dernier message: 13/08/2012, 14h53
  3. [VBA-E]copie de feuille excel
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/02/2006, 14h20

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