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 :

Masquer un onglet - Macro toute simple


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2016
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2016
    Messages : 100
    Points : 49
    Points
    49
    Par défaut Masquer un onglet - Macro toute simple
    Bonsoir amis du forum,

    Je viens de créer une macro tout simple pour fermer un masquer une page active, mais il semble que cela bug Une idée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Afficher_Table_Matiere_Masquer_Page_Active()
     
            Application.ScreenUpdating = False
               ActiveWindow.SelectedSheets.Visible = False
              Sheets("Table des matières").Select
               Range("B5").Select
                Application.ScreenUpdating = True
    End Sub
    Merci à vous et bon

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonsoir,

    C'est la feuille qu'il faut masquer, pas la fenêtre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Afficher_Table_Matiere_Masquer_Page_Active()
        Application.ScreenUpdating = False
        ActiveSheet.Visible = False
        Sheets("Table des matières").Select
        Range("B5").Select
    End Sub
    Cdlt

  3. #3
    Membre du Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2016
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2016
    Messages : 100
    Points : 49
    Points
    49
    Par défaut
    Bonsoir Arturo
    J'ai testé, mais cela ne fonctionne toujours pas. Est ce que c'est parce que l'onglet est protégé ?
    J'ai rajouté dans le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Afficher_Table_Matiere_Masquer_Page_Active()
        Application.ScreenUpdating = False
        ActiveSheet.Unprotect
        ActiveSheet.Visible = False
        Sheets("Table des matières").Select
        Range("B5").Select
    End Sub
    Voilà le message que j'ai
    Nom : Capture.JPG
Affichages : 85
Taille : 41,7 Ko

    Si j'utilise la macro sans masquer la feuille active, cela fonctionne. Le bug est donc dans le fait de masquer la feuille active

    Merci pour votre aide

  4. #4
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour,

    Dans quel module de quel fichier se trouve la macro ?
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  5. #5
    Membre du Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2016
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2016
    Messages : 100
    Points : 49
    Points
    49
    Par défaut
    Bonsoir Patrice,
    La macro se trouve dans module standard, puisqu'elle doit être affectée à plusieurs onglets.
    Sur chaque onglet, j'associe cette macro à une forme. Le but est qu'à chaque fois qu'une feuille est ouverte et que je clique sur la macro qui permet de revenir sur la feuille "Table des matières", la feuille active se ferme automatique
    Le but du fichier va être à terme d'avoir plus d'une centaine de feuilles et donc de pouvoir les fermer après chaque utilisation
    Merci pour votre aide

    Citation Envoyé par Patrice740 Voir le message
    Bonjour,

    Dans quel module de quel fichier se trouve la macro ?

  6. #6
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Re,

    Ta macro devrait fonctionner.

    C'est la sécurité des macros qui interdit son fonctionnement.
    Les macros sont-t'elles autorisées ? avec quelle option ?
    C'est peut-être le mode protégé. Le fichier est-t'il dans un emplacement de confiance ?

    Ceci dit on peut simplifier la macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Afficher_Table_Matiere_Masquer_Page_Active()
        ActiveSheet.Visible = xlSheetHidden
        Application.Goto Worksheets("Table des matières").Range("B5")
    End Sub
    Pour ma part j'évite d'utiliser les objets actif (comme ActiveSheet) chaque fois que c'est possible :
    Dans un environnement multitâche, il y a toujours un petit risque aussi faible soit-t'il que dans la nanoseconde qui sépare le moment où on actionne le bouton et le moment où l'instruction sur l'objet actif est exécuté, l'objet actif ait été désactivé au profit d'un autre objet (par une autre tâche).

    J'aurais utilisé une macro intermédiaire dans le module de feuille qui transfère la feuille en argument :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Retour()
     Call Afficher_Table_Matiere_Masquer_Page_Active(Me)
    End Sub
    Et dans un module standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Afficher_Table_Matiere_Masquer_Page_Active(wsh As Worksheet)
        wsh.Visible = xlSheetHidden
        Application.Goto Worksheets("Table des matières").Range("B5")
    End Sub
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

Discussions similaires

  1. Petite gestion toute simple de matériels sous calc par macros
    Par yves.combeau dans le forum Contribuez
    Réponses: 1
    Dernier message: 07/11/2020, 12h18
  2. demande d'aides sur une macro toute simple
    Par ledechainex dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/03/2020, 12h11
  3. Réponses: 3
    Dernier message: 03/04/2015, 17h24
  4. un algo tout simple de randomisation (enfin, j'espere)
    Par orichimaru dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 30/11/2004, 22h15
  5. [langage] Problème tout simple
    Par marouanitos dans le forum Langage
    Réponses: 5
    Dernier message: 24/09/2003, 11h25

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