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 :

rendre les feuilles classeur invisible [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut rendre les feuilles classeur invisible
    Bonjour à tous,

    Je voulais naviguer sur mes feuilles en effacent les autres feuilles mais je trouve ça un peu galère d'écrire la formule suivante pour chaque feuilles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sheets("Cpte_chèq_trés").Visible = True 'rendre la feuille visible
    ActiveSheet.Unprotect 'ôté la protection de la feuille
    Sheets("Grand_livre").Visible = True 'rendre la feuille visible
    ActiveSheet.Unprotect 'ôté la protection de la feuille
    Sheets("51251-Cpte_livret").Visible = True 'rendre la feuille visible
    ActiveSheet.Unprotect 'ôté la protection de la feuille
    Sheets("feuilfam").Visible = True 'rendre la feuille visible
    ActiveSheet.Unprotect 'ôté la protection de la feuille
    Sheets("Plan_comptable").Visible = True 'rendre la feuille visible
    ActiveSheet.Unprotect 'ôté la protection de la feuille
    Sheets("51231-directeur").Visible = False 'rendre la feuille invisible
    ActiveSheet.Protect ' protection de la feuille
    Alors pour les ouvrir à nvx j'ai trouvé ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub UserForm_Initialize()
    Dim LaFeuille As Worksheet
    For Each LaFeuille In ActiveWorkbook.Worksheets
          LaFeuille.Unprotect
    Next
     
    Dim MaFeuille As Worksheet
     
    For Each MaFeuille In ActiveWorkbook.Worksheets
          MaFeuille.Visible = xlSheetVisible
     
    Next
     
    End Sub
    ça c'est bon!!
    Et je voulais essayer ce code mais là, ça ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub CommandButton15_Click()
    Dim LaFeuille As Worksheet
    For Each LaFeuille In ActiveWorkbook.Worksheets
          LaFeuille.Protect
    Next
     
     
    Dim MaFeuille As Worksheet
     
    For Each MaFeuille In ActiveWorkbook.Worksheets
          MaFeuille.Visible
    Next
    Sheets("Grand_livre").Visible = True 'rendre la feuille visible
    Range("a1").Select
     
    End Sub
    Auriez-vous une idée?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut Réponse
    Bon,

    et bien j'ai trouvé la réponse!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub CommandButton15_Click()
     
    Dim a As Worksheet
     
    For Each a In ActiveWorkbook.Worksheets
        If a.Name <> "Grand_livre" Then '
            a.Visible = False
        End If
    Next a
     
    Sheets("Grand_livre").Visible = True 'rendre la feuille visible
    ActiveSheet.Protect ' protection de la feuille
    Range("a1").Select
     
     
     
    End Sub
    a moins qu'il y est une autre solution!?

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    teste pour moi ce que j'écris ici à main levée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub CommandButton15_Click()
      Dim a As Worksheet
      For Each a In ActiveWorkbook.Worksheets
          a.Visible = (a.Name = "Grand_livre")
      Next a
      ActiveSheet.Protect ' protection de la feuille
      Range("a1").Select
    End Sub

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut
    Salut Ucfoutu,

    Oui ça marche très bien, je me demande si ce n'est pas un peu moins rapide!
    mais ce n'est pas certain.

    Si il n'y a pas de réponse de plus demain, je note "Résolu"!

    Merci à toi, car ta version va me rendre service pour autre chose!!
    jijie

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Citation Envoyé par jijie Voir le message
    Salut Ucfoutu,

    Oui ça marche très bien, je me demande si ce n'est pas un peu moins rapide!
    mais ce n'est pas certain.
    Non, ce n'est pâs moins rapide (la boucle restant rigoureusement la même, seule son utilisation étant modifiée)...
    Je dirais même que c'est un tout petit peu plus rapide (mais si peu) pour les raisons suivantes :


    - pas d'expression conditionnelle, mais utilisation directe d'un booléen résultant d'une expression simple (égalité)
    - on ne revient pas (on l'a déjà fait dans la boucle) sur le traitement de la propriété de la feuille Grand_livre

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut
    Merci à toi ucfoutu et à la prochaine!!

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

Discussions similaires

  1. effacer toutes les feuilles d'un classeur commencant par "GRAPH"
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/11/2007, 19h40
  2. Comment parcourir toutes les feuilles d'un classeur excel?
    Par Subkill dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/02/2007, 20h47
  3. [VBA]activer les feuilles d'un classeur Excel
    Par jemigo dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/01/2006, 17h58
  4. Action sur toutes les feuilles d'un classeur
    Par beurnoir dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 23/12/2005, 15h11
  5. [VBA-E] Ordonner les feuilles d'un classeur
    Par ptitsoleil87 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 19/12/2005, 16h49

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