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 :

Excel 2007 VBA manipulation du ruban


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Excel 2007 VBA manipulation du ruban
    Bonjour à tous,
    J'ai crée un ruban personnalisé avec 3 onglets.

    Lors du chargement du ruban je crée une instance de ce ruban à l'aide du code VBA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public oMonruban As IRibbonUI
    Sub getMonRuban(Ribbon As IRibbonUI)                    
        Set oMonruban = Ribbon
    End Sub
    Le code XLM du premier onglet est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <tab id = "X_1" label="Menu principal" insertAfterMso="TabView" visible="true">
    Ma question :
    en cours de traitement je souhaite rendre l'onglet "X_1" alternativement invisible ou visible : comment écrire le code VBA permettant de manipuler l'attribut visible de l'onglet ?

    D'avance merci pour votre aide
    JD

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Je ne sais pas si ce lien va te conduire au bon endroit, sinon, fais une recherche dans la FAQ VBA Excel sur le mot RUBAN.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Merci pour ces liens que j'avais déjà exploré sans succès.

    C'est le tuto "Création de rubans personnalisés sous Microsoft Access 2007" de Christophe WARIN qui m'a permis d'avancer sur le ruban d'Excel.

    Mais mon problème reste sans solution
    JD

  4. #4
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut
    pour un bouton on place le code dans Workbook_SheetActivate


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If Not (Monruban Is Nothing) Then
      Monruban.InvalidateControl "Bouton0"
     
    End If
    End Sub
    et dans un module standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Sub getBouton0_enabled(control As IRibbonControl, ByRef enabled)
     
      If ActiveSheet.Name = "Devis" Then enabled = True Else enabled = False
    End Sub
    et pour le xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <button id="Bouton0" 
    	screentip = "ARRONDI.SUP(formule;2)"
    	supertip = "Change les formules ou valeurs sélectionnées en ARRONDI.SUP(formule;2)"
    	imageMso="PlusSign"
    	onAction = "Arrondi_SupOnAction"
    	tag = "Arrondi_Sup"
    	keytip="+"
    	size="large"
    	getEnabled = "getBouton0_enabled"  <!-- ICI -->
    	label = "ARRONDI.SUP"
    />

    je pense que tu peux essayer pour un onglet si getenabled ne fonctionne pas essaie getvisible

    fred65200

  5. #5
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut
    Il semble que ce soit GetVisible

    http://www.accessribbon.de/en/index....cks:getVisible

    tu trouveras sur ce site de très bonnes explications (en anglais ou en allemand)
    sur le ruban Access mais applicables bien souvent à Excel

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Merci Fred65200 j'ai effectivement trouvé la solution grâce à ce lien
    Avec GetVisible on peut à volonter changer l'aspect du ruban au cours du travail

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

Discussions similaires

  1. [XL-2007] Web Service SOAP Fichier WSDL / Extraction des données dans un classeur
    Par crusaders dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/12/2014, 12h05
  2. Réponses: 6
    Dernier message: 22/09/2014, 16h20
  3. Lenteurs de macros VBA sous Excel 2007 vs Excel 2003
    Par nicotab dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/11/2007, 18h47
  4. ruban excel avec lien sur une feuille du classeur excel 2007
    Par corbisier dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/09/2007, 15h00
  5. [VBA] VBA sous Excel 2007
    Par tangjuncn dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/02/2007, 16h06

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