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 :

onglet (data ou chart) actif


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 111
    Par défaut onglet (data ou chart) actif
    Bonjour,

    je cherche à recuperer l'onglet sur lequel je suis : quand c'est une feuille de données, pas de problème mais quand c'est un chart, ca ne marche pas trop.

    merci...

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    cela reste une Sheet

    Sheets englobe toutes les feuilles
    Worksheets ne tient compte que des feuilles "normales"

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 111
    Par défaut
    mon probleque est que je veux masquer une feuille en la quittant, qu'elle soit de données ou graphique...
    et en mettant sur un onglet graphique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Chart_Deactivate()
        ActiveSheet.Visible = xlSheetVeryHidden
    End Sub
    si mon onglet source (graphique donc) s'appelle 'S' et celui de destination (data en l'occurance), 'C', en allant sur l'onglet 'C' à partir de 'S', c'est 'C' qui est marqué....

    alors
    1) pourquoii, c'est pas 'S',
    2) comment faire pour que ce soit 'S' ???


    Merci.

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Chart_Deactivate()
        Me.Visible = xlSheetVeryHidden
    End Sub
    Cordialement,

    Tirex28/

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 111
    Par défaut
    Citation Envoyé par tirex28 Voir le message
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Chart_Deactivate()
        Me.Visible = xlSheetVeryHidden
    End Sub
    Cordialement,

    Tirex28/
    en fait, c'est un peu plus complexe, il faut que je me souvienne de l'onglet et j'ai pas acces à ce "me" parce que je suis dans une fonction de module (enfin, je crois que c'est pour ca) :

    l'appel est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Chart_Deactivate()
        allerA feuilleGestionDesRisques
    End Sub
    et le code de la procedure est:


    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
    18
    19
    20
    21
    22
    23
    24
    25
     
    Public Sub allerA(objetCible As Object, Optional hide As Boolean)
        ' on recupere la page courante
        Dim feuilleActuelle As Object
        If TypeOf ActiveSheet Is Chart Then
            Set feuilleActuelle = ActiveChart
    'MsgBox ActiveChart.Name & " sera masquée"    '--> ERREUR
        Else
            Set feuilleActuelle = ActiveSheet
        End If
     
     
        ' on affiche la nouvelle page
        objetCible.Visible = xlSheetVisible
        objetCible.Activate
     
     
        ' on masque la précedente si ce n'est pas la page d'acceuil
        If IsMissing(hide) Or hide = True Then
            If feuilleActuelle.Name <> feuilleAccueil.Name Then
    'Me.Visible = xlSheetVeryHidden      '--> ERREUR
           '     feuilleActuelle.Visible = xlSheetVeryHidden ' code idéal, mais ne marche pas quand il s'agit d'un onglet chart (c'est la tout le pb..)
            End If
        End If
    End Sub

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Par défaut
    Re,

    Et comme ca:

    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
    18
    19
    20
    Private Sub Worksheet_Deactivate()'Depuis une feuille de calcul
        allerA feuilleGestionDesRisques, Me
    End Sub
     
    Private Sub Chart_Deactivate()'Depuis un graphique
        allerA feuilleGestionDesRisques, Me
    End Sub
     
    Public Sub allerA(objetCible As Object, ObjetSource As Object, Optional hide As Boolean)
     
        ' on affiche la nouvelle page
        objetCible.Visible = xlSheetVisible
        objetCible.Activate
     
        ' on masque la précedente si ce n'est pas la page d'acceuil
        If ObjetSource.Name <> feuilleacceuil.Name Then
            ObjetSource.Visible = xlSheetVeryHidden
        End If
     
    End Sub

    Cordialement,

    Tirex28/

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 21/08/2009, 18h20
  2. [AJAX] Onglets répétés pas tous actifs
    Par paintbox dans le forum AJAX
    Réponses: 0
    Dernier message: 02/05/2009, 22h26
  3. mysql et l'onglet data flow
    Par vinczente dans le forum SSIS
    Réponses: 0
    Dernier message: 21/04/2009, 13h55
  4. Différente couleur pour l'onglet actif du menu css
    Par brotelle dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 12/04/2006, 10h18
  5. pbm onglet actif
    Par nine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 15/12/2005, 14h44

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