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 :

Code VBA de feuille masquée qui disparait


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Janvier 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Janvier 2021
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Code VBA de feuille masquée qui disparait
    Bonjour,

    J'ai un fichier xlsm qui contient plusieurs feuilles.

    L'une des feuilles contient du code VBA.
    Cette feuille est masquée automatiquement à la fermeture du fichier (via une macro dans "ThisWorkbook" et la propriété Visible = false)

    Lors de la réouverture du fichier, le code VBA a disparu de la feuille en question.
    Le code n'a pas totalement disparu cependant, puisque mon workbook a un objet supplémentaire (qui n'est pas une feuille à proprement parler) et j'y retrouve bien mon code mais du coup il ne fonctionne plus sur la feuille initiale.

    Par exemple si ma feuille s'appelait "Feuil1 (blabla)" elle revient sans le code et s'appelle désormais "Feuil11 (blabla)", et en parallèle j'ai un objet "Feuil1" qui contient le code mais qui est inutilisable.

    Pouvez-vous me dire à quoi cela est dû ?

    Merci d'avance?

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 274
    Points
    34 274
    Par défaut
    Bonjour,

    as tu dans ton code à un moment une copie de ta feuille en question ?
    Les feuilles ne disparaissent pas, elles sont visibles ou non, mais si le code disparait c'est que tu fais des manipulations de type Delete sur la feuille, ou alors tu la renommes.

    Sans code ca nous est compliqué de te donner la bonne approche
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Janvier 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Janvier 2021
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour,


    Alors en fait je me suis aperçu ce bug se produit même sans le script de masquage/démasquage des feuilles, à partir du moment où je ferme mon classeur, quand je le rouvre la feuille est bien là mais le code VBA qu'elle contenait n'y est plus et se trouve sur un autre "objet" (qui n'est pas une feuille).
    Le code VBA en lui-même ne fait pas grand chose (masque ou affiche certaines lignes de la feuille lorsqu'une case est cochée).

    J'ai copié l'ensemble de mes feuilles sur un classeur "neuf" et le soucis ne se produit pas, tout y fonctionne correctement. La seule différence est que je n'y applique pas la fonction "Protéger la feuille".

    De ce que je vois sur l'ancien classeur, c'est que dans les propriétés de l'objet "non identifié" il y a cette notion de protection de feuille donc je pense que c'est lié.

    Bref je me passerais de la protection donc ce n'est pas trop grave.

    Merci pour votre aide.

  4. #4
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 422
    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 422
    Points : 2 181
    Points
    2 181
    Par défaut
    Bonjour,
    Ça va sans dire mais ça va mieux en le disant que les options d'Excel doivent autoriser les macros au moins avec autorisation !

    Si le classeur n'a pas les macros d'activité alors elles ne sont pas visibles dans le projet VBA !

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Janvier 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Janvier 2021
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Thumb down Voir le message
    Bonjour,
    Ça va sans dire mais ça va mieux en le disant que les options d'Excel doivent autoriser les macros au moins avec autorisation !

    Si le classeur n'a pas les macros d'activité alors elles ne sont pas visibles dans le projet VBA !
    Bonjour,

    Les macros sont bien activées car celles présentes dans ThisWorkbook et sur les autres feuilles s'exécutent bien.

    Voici ce qu'il se passe quand je ferme mon fichier et que je le rouvre :
    Nom : bug_excel.PNG
Affichages : 144
Taille : 2,5 Ko

    La feuille "(Intégration)" qui s'appelait "Feuil1" s'appelle maintenant "Feuill11" et n'a plus de code VBA
    Un nouvel "objet" nommé "Feuil1" n'est pas une feuille à proprement parler, et contient le code VBA qui était sur la feuille "(Intégration)". Cet objet ne peut pas être supprimé.

Discussions similaires

  1. [XL-2019] Code en VBA Pour imprimer des feuilles masquées
    Par deus-ex-inferno dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/09/2019, 20h03
  2. Réponses: 2
    Dernier message: 16/07/2018, 07h45
  3. Possibilité de navigation dans les feuilles masquées par code VBA
    Par josharouna dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/11/2017, 14h54
  4. [VBA-E] copy feuille masqué
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/06/2006, 21h45
  5. [VBA] [Excel] feuille masquée = pas de macro?
    Par Angel79 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 30/01/2006, 12h58

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