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 :

macro masquer feuilles


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Octobre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2020
    Messages : 3
    Par défaut macro masquer feuilles
    Bonjour,

    je cherche à réaliser une macro pour masquer des feuilles excel.
    L'idée est de masquer des groupes de feuilles par leur nom (name) et non nom par le nom de l'onglet.
    exemple:

    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub bouton1_clic()
        For i = 1 To 100
        Sheets(i).Visible = xlSheetVisible
        Next i
    End Sub


    Cette macro fonctionne lorsque je me limite i à 10. Au delà elle ne fonctionne pas.
    Avez vous des idées.

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 174
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Cette macro fonctionne lorsque je me limite i à 10. Au delà elle ne fonctionne pas.
    Avez vous des idées.
    Question importante : Avez-vous un message d'erreur et si oui lequel et à quelle ligne

    Déjà il serait important de limiter tout de suite la boucle par Sheets.Count au lieu de la constante 100

    L'idée est de masquer des groupes de feuilles par leur nom (name) et non nom par le nom de l'onglet
    Exemple pour deux feuilles nommées Start et Admin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub T()
      Dim sht As Worksheet
      For Each sht In Worksheets(Array("Start", "Admin"))
        sht.Visible = xlSheetVisible
      Next
      Set sht = Nothing
    End Sub

    Personnellement, je crée une table avec en première colonne le CodeName de la feuille en deuxième colonne une fonction personnalisée qui renvoie le nom de l'onglet et en troisième colonne l'état Visible, Caché ou vraiment caché dans lequel je souhaite avoir mes feuille en production et un ToggleButton qui permet d'afficher ou de mettre l'une des trois propriétés définit par la troisième colonne

    [EDIT]
    Attention : Le titre de votre discussion est "Macro Masquer feuille" or la valeur que vous avez utilisée pour la propriété Visible et que j'ai reprise est xlSheetVisible alors que pour masquer une feuille c'est soit la valeur xlSheetHidden soit xlSheetVeryHidden
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Bonsoir,

    Je plussoie Philippe je travail énormément avec des tableaux structurés comme table de mappage.
    Ce procédé permet de ne pas à avoir à entrer dans le code a outrance, et permet donc une meilleur maniabilité / évolution de l'outils pour et par les utilisateurs.

    Ici, je reprends une méthodologie similaire à celle exposée par Philippe pour cacher/afficher les feuilles d'un wb.

    Bav,

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour à vous, Bonjour u Forum,

    Salut les amis Philippe et Michaël,

    Bravo pour vos suggestions

    Philippe,

    Un détail.
    Je m'interroge sur cette ligne.

    Personnellement, je libère une variable affectée à un objet (ici une feuille) si je l'ai affectée en premier lieu.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim lawks As Worksheet
    Set lawks = ThisWorkbook.Worksheets("Toto")
    '.......suite du code.....
    Set lawks = Nothing
    Merci à toi

    Bonne journée à tous.

    Merci

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 174
    Billets dans le blog
    53
    Par défaut
    Bonjour Marcel,
    Je termine toutes mes procédures par les instructions Set VariableObjet = Nothing
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Octobre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2020
    Messages : 3
    Par défaut
    Bonjour et merci pour vos retours.

    Le paramètre que je souhaite identifier pour masquer ou non la feuille est le nom de la feuille avec son numéro et non le nom de l'onglet de la feuille en question.

    Exemple "Feuil1"

    Avez vous des idées?

    Yann

Discussions similaires

  1. liaison d'une macro à une feuille excel et execution d'une macro
    Par new_wave dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/08/2008, 17h14
  2. Masquer feuille Excel
    Par lucazzo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/06/2008, 11h47
  3. macro nommer feuilles dans un classeur
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/03/2008, 07h08
  4. Macros insérer feuille ligne et mise à jour
    Par rembliec dans le forum Excel
    Réponses: 6
    Dernier message: 08/11/2007, 15h48
  5. [VBA-E]Lancement macro ouverture Feuille
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 08/06/2006, 20h31

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