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 :

Personnalisation du ruban - VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2014
    Messages : 11
    Par défaut Personnalisation du ruban - VBA
    Bonjour à tous,

    Je souhaiterai personnaliser le ruban Excel, à l'ouverture d'Excel via VBA.

    Je cherché, fouillé, testé pas mal de choses, mais je n'arrive pas au résultat voulu.

    Pour l'instant, j'en suis là :

    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
    26
    27
     
    Private Sub Workbook_Open()
        Dim CmdBar As CommandBar
        Dim Bouton As CommandBarButton
     
        Set CmdBar = Application.CommandBars _
            .Add(Name:="Def", Position:=msoBarTop, Temporary:=True)
     
        Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
        With Bouton
            .FaceId = 372
            .Caption = "Rafraichissement"
            .DescriptionText = "Coucou"
            .Style = msoButtonIconAndCaptionBelow
            .OnAction = "Macro1"
        End With
     
        Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
        With Bouton
            .Caption = "Validation données"
            .FaceId = 1087
            .OnAction = "Macro2"
            .Style = msoButtonIconAndWrapCaptionBelow
        End With
     
        CmdBar.Visible = True
    End Sub
    Ce qui me donne ceci :

    Nom : excel01.JPG
Affichages : 1698
Taille : 19,4 Ko

    J'aurai souhaité modifier le nom "Complément" et avoir des icônes plus grandes, pour arriver à un menu ressemblant à ceci (quand je passe par l'édition manuelle du ruban) :

    Nom : excel02.JPG
Affichages : 1703
Taille : 18,1 Ko

    Pourriez-vous m'aider?

    Merci d'avance,

    David.

  2. #2
    Membre Expert
    Homme Profil pro
    Formateur et développeur bureautique
    Inscrit en
    Mars 2007
    Messages
    1 584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur et développeur bureautique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 584
    Par défaut
    Bonjour

    Voici tous les liens que je connais pour la mise en place des rubans personnalisés :
    Nouveautés 2010 sur DVP
    Personnalisation sur DVP
    Les callbacks sur DVP
    Autre personnalisation
    Office RibbonX Editor

    Bonne lecture

    En espérant que cela aide

    Bon après-midi

    Pierre Dumas

  3. #3
    Membre averti
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2014
    Messages : 11
    Par défaut
    Merci d'avoir pris le temps de me répondre. Pas mal de lecture, effectivement...

    J'ai suivi les instructions "Personnalisation sur DVP" mais j'obtiens un message comme quoi Excel ne peut pas ouvrir le fichier car il est corrompu.
    Dans le tutoriel, on me demande : "Ouvrez un nouveau classeur Excel et enregistrez-le sous l'extension .xlsm (format openXML avec macros)."

    Je ne trouve pas ce format, ce que j'ai c'est :
    - Classeur Excel (prenant en charge les macros) (*.xlsm)
    ou
    - Feuille de calcul Opem XML Strict (*.xlsx)

    Je l'enregistre donc au format .xlsm, mais ca ne passe pas...

    Le tuto date de 2008, est-il compatible avec 365?

    Merci,

    David.

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 248
    Par défaut
    Hello,
    Dans la liste des liens qu'à indiquer Pierre, il y a Office RibbonX Editor (gratuit de licence MIT) qui va grandement te faciliter la tâche car il édite directement le fichier CustomUI.xml à l'intérieur des fichiers xlsm.
    Exemple pour commencer à l'utiliser :

    • Installer Office RibbonX Editor : télécharger le fichier OfficeRibbonXEditor-NETFramework-Installer.exe en bas de cette page . Cette version utilise le NetFramework > 4.6.1 normalement déjà installé sur Windows 10 ou windows 11.
    • Créer un fichier xlsm.
    • L'ouvrir avec Office RibbonX Editor
    • Menu Insérer/Exemple Xml/Excel - A Custom Tab
    • Un fichier CustomUI.xml est créé. Modifier le comme bon vous semble
    • Quand votre fichier CustomUI.xml est OK, enregistrer les modifications : icone Enregistrer

    La liste des icones imageMso disponibles est consultable ici par exemple
    Le nom des onglets d'Office est consultable ici par exemple

    Avec ce customUI.xml :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
        <ribbon>
            <tabs>
                <tab id="customTab" label="Compléments" insertAfterMso="TabHome">
                    <group id="customGroup" label="Outils Compléments">
                        <button id="customButton1" label="Rafraîchissement" size="large" onAction="Refresh" imageMso="Refresh" />
                        <button id="customButton2" label="Validation données" size="large" onAction="Validation" imageMso="DataValidation" />
                    </group>
                </tab>
            </tabs>
        </ribbon>
    </customUI>

    Nom : OfficeRibbonWEditor1.png
Affichages : 1663
Taille : 51,2 Ko

    Voici ce que j'obtiens :

    Nom : testRuban.png
Affichages : 1652
Taille : 6,1 Ko




    Ami calmant J.P

  5. #5
    Membre averti
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2014
    Messages : 11
    Par défaut
    Un tout grand merci d'avoir passé du temps pour me répondre!

    Effectivement avec Office RibbonX Editor c'est très simple et visuellement j'arrive exactement à ce que je veux!

    Par contre fonctionnellement, j'ai encore un petit soucis lors de l'appel des macros.

    Pour le test, j'ai créé une Sub dans Thisworkbook et une macro1 qui affiche juste une msgbox avec "Thisworkbook" ou "Macro1", suivant le cas.

    Si je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    onAction="Thisworkbook.MAJ"
    onAction="Macro1"
    J'ai comme retour : "Nombre d'arguments incorrect ou affectation de propriété incorrecte".

    Si je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    onAction="Thisworkbook.MAJ()"
    onAction="Macro1()"
    La msgbox s'affiche, je clique "ok", elle s'affiche une deuxième fois, je clique "ok, j'ai un message d'erreur "400".

    Une idée?

    Merci,

    David.

  6. #6
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 248
    Par défaut
    pourquoi mets-tu thisworkbook.? la macro appelée est obligatoirement dans le classeur puisque le customUI est dans le classeur. Il ne faut pas mettre une instruction mais une macro.

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

Discussions similaires

  1. [PR-2013] Personnalisation du Ruban par VBA et MS PROJECT2016
    Par jelegoll dans le forum VBA Project
    Réponses: 1
    Dernier message: 14/10/2015, 11h41
  2. [Access 2007 - Nouveauté] Personnalisation du ruban
    Par Tofalu dans le forum Sondages et Débats
    Réponses: 7
    Dernier message: 21/11/2008, 05h45
  3. Personnaliser le ruban de word 2007
    Par sanfric dans le forum VBA Word
    Réponses: 9
    Dernier message: 25/10/2008, 08h09
  4. Réponses: 0
    Dernier message: 03/11/2007, 09h52

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