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 :

Récuperer le niveau du Outline d'une feuille [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut Récuperer le niveau du Outline d'une feuille
    Bonjour à tous,

    Apres avoir consulté mon ami Google et les différentes propriétés et méthodes de l'objet Outline, une question reste sans réponse : Comment récupérer le niveau du plan utilisé sur la feuille active ?

    Je protège mes feuilles de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Workbook_Open()
        Dim sh As Worksheet
        For Each sh In ThisWorkbook.Worksheets
            If sh.Name Like "Suivi de l'action*" Then sh.Protect Contents:=True, Password:="monMDP", UserInterfaceOnly:=True
        Next
    End Sub
    Les feuilles commençant par "Suivi de l'action" sont toutes tirées du même modelé qui comporte un plan automatique.
    Comme les feuilles sont bloquées, les plans sont en fait inutilisable mis à part par macro donc j'aimerais juste une macro qui bascule du plan 1 au plan 2.
    J'essaye de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Basculer_Plan()
        Dim sh As Worksheet: Set sh = ActiveSheet
        Dim i&: i = sh.Outline.SummaryRow
        Select Case i
            Case 1: sh.Outline.ShowLevels rowlevels:=2
            Case 2: sh.Outline.ShowLevels rowlevels:=1
        End Select
        Set sh = Nothing
    End Sub
    Mais sh.Outline.SummaryRow n'est pas du tout le niveau actif du plan (Ce n'est même pas de type numérique et je ne sais pas ce que c'est du coup ^^)

    Voilà j'espère avoir été clair. Si l'un de vous sais s'il est possible de récupérer cet info ce serai génial !

    Merci d'avance a tous

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Tu pourrais vérifier si une ligne est masquée ou non.
    Ce bout de code va passer de masqué à affiché et vice versa
    Dans mon test la ligne 4 me sert de repaire.
    À modifier selon ton besoin.

    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
    Sub ShowHide()
        Dim sh As Worksheet: Set sh = ActiveSheet
     
        If Masque Then
            sh.Outline.ShowLevels rowlevels:=2
        Else
            sh.Outline.ShowLevels rowlevels:=1
        End If
     
        Set sh = Nothing
    End Sub
     
    Function Masque()
        'Choisir une autre ligne au besoin
        If Rows(4).Hidden Then Masque = True
    End Function

  3. #3
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    Merci pour ta réponse parmi.

    C'est une solution plus qu'acceptable, il me suffit de remplacer la ligne 4 par une ligne faisant partie d'un groupe.
    Dans l'urgence j'ai opté pour 2 boutons, un pour masquer et un pour afficher.
    Je vais pouvoir passer à un seul.

    Merci bien

    En tout cas c'est quand même dommage qu'il n'existe pas de propriété par exemple Level sur l'objet Ontline

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783

  5. #5
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    Merci pour les sources vinc_bilb,

    J'ai pu contourner mon probleme mais Level = cCell.Rows.OutlineLevel couplé avec cCell.Rows.hidden peut être intéressant

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

Discussions similaires

  1. récuperé dans une feuille les donnés de plusieur classeurs fermé
    Par peygase83 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 10/02/2009, 19h31
  2. Récuperation de données d'une feuille a une autre
    Par smartbis dans le forum VBA Word
    Réponses: 1
    Dernier message: 23/11/2007, 12h37
  3. Réponses: 2
    Dernier message: 10/09/2007, 17h40
  4. Récuperer des données de fichier pdf vers une feuille xls
    Par zeralium dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/08/2007, 15h03
  5. [VBA-E]Récuperer le nom d'une feuille sans le N°
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/04/2006, 12h33

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