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 :

Bouton dans le premier onglet du ruban


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 6
    Par défaut Bouton dans le premier onglet du ruban
    Bonjour, pour un projet d'école, je cherche à avoir un bouton dans le premier onglet du ruban Excel, qui me permettrait de lancer un UserForm.

    Pour cela j'ai 2 pistes :

    Soit je rajoute le bouton directement dans l'onglet "Accueil" (en VBA), ce que je n'ai pas encore réussi à faire malgré mes recherches.

    Soit je déplace l'onglet "compléments"(en VBA) que j'ai réussi à faire apparaître avec à l’intérieur un bouton qui lance mon UserForm, en première position(Devant l'onglet "Accueil" donc).

    Je précise que le déplacement doit se faire en VBA et non en passant par les menus, car l'application doit marcher sur n'importe quelle machine.

    Est-ce que quelqu'un aurait une idée de comment faire ce que je cherche à faire ?

    Merci.

    EDIT : Quand je dis marcher sur n'importe quelle machine, je veux dire que si je lance mon application sur un PC autre que le miens, je ne dois pas avoir à chipoter dans les menus, mais simplement avoir un code VBA qui me créerait un bouton dans accueil ou ajouterait un menu avec bouton en première position automatiquement. (je gérerais la disparition du menu/bouton à la fermeture de l'application).

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par cybevil Voir le message
    Soit je rajoute le bouton directement dans l'onglet "Accueil", ce que je n'ai pas encore réussi à faire malgré mes recherches.
    Clic droit sur le ruban > Personnaliser le ruban
    Dans le tableau de droite, choisir l'onglet et le groupe dans lesquels sera placé la nouvelle icone.
    Dans le tableau de gauche, choisir la catégorie "Macros" pour faire afficher les macros puis, dans la liste, choisir la macro concernée.
    Cliquer sur le bouton "Ajouter".

    Cela dit, personnellement, je déconseille de modifier les barre d'outils standard (quelle que soit la version d'Excel).
    Il est plus judicieux de créer un nouveau ruban.

    l'application doit marcher sur n'importe quelle machine.
    Et n'importe quelle version d'Excel ??? Ca risque d'être compliqué...

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 6
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Clic droit sur le ruban > Personnaliser le ruban
    Dans le tableau de droite, choisir l'onglet et le groupe dans lesquels sera placé la nouvelle icone.
    Dans le tableau de gauche, choisir la catégorie "Macros" pour faire afficher les macros puis, dans la liste, choisir la macro concernée.
    Cliquer sur le bouton "Ajouter".

    Cela dit, personnellement, je déconseille de modifier les barre d'outils standard (quelle que soit la version d'Excel).
    Il est plus judicieux de créer un nouveau ruban.


    Et n'importe quelle version d'Excel ??? Ca risque d'être compliqué...
    Je crois que tu n'as pas compris. Je cherche un code VBA, pas une manipulation à travers un menu.

    Par exemple lors de la remise de mon travail à la prof, l'application se lancera sur son PC.
    Donc je cherche un code VBA qui une fois que je lance mon application me crée un bouton relancer l'userForm et je veux qu'il soit bien en évidence (donc dans le premier onglet).

    Je ne cherche pas à se qu'il soit compatible toute version d'excel, je précisais juste que je n'aurais pas accès au PC pour faire des manipulation dans les menu donc TOUT dois se faire au lancement de l'application en VBA.

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par cybevil Voir le message
    Par exemple lors de la remise de mon travail à la prof, l'application se lancera sur son PC.
    Donc je cherche un code VBA qui une fois que je lance mon application me crée un bouton relancer l'userForm et je veux qu'il soit bien en évidence (donc dans le premier onglet).
    Ca va sûrement lui plaire à la prof que tous les élèves lui pourrissent son onglet accueil...
    A moins que ce soit elle qui ait précisément demandé que tu fasses ça.
    Je te garantis que si un de mes étudiants avait osé faire un truc pareil quand j'étais formateur, j'aurais déjà supprimé d'entrée 10 points sur la note.

    Je ne cherche pas à se qu'il soit compatible toute version d'excel
    Je crois que c'est toi qui n'a pas compris alors je vais essayer d'être plus clair.
    Suivant la version d'Excel, la gestion des menus est très différente et tu n'as pas précisé sur quelle version d'Excel tu travailles ni sur quelle version est ta prof.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 6
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Ca va sûrement lui plaire à la prof que tous les élèves lui pourrissent son onglet accueil...
    A moins que ce soit elle qui ait précisément demandé que tu fasses ça.
    Je te garantis que si un de mes étudiants avait osé faire un truc pareil quand j'étais formateur, j'aurais déjà supprimé d'entrée 10 points sur la note.


    Je crois que c'est toi qui n'a pas compris alors je vais essayer d'être plus clair.
    Suivant la version d'Excel, la gestion des menus est très différente et tu n'as pas précisé sur quelle version d'Excel tu travailles ni sur quelle version est ta prof.
    La demande est dans les consignes effectivement.

    Consigne :

    " Il est par ailleurs rappelé et recommandé d’assurer un minimum de convivialité pour
    l’interface en créant un bouton de commande lançant l’application et en assurant le
    lancement de l’application dès l’ouverture du fichier ou encore en ajoutant un lien direct
    dans le ruban. ".

    Ensuite tu dis que tu crains que "tous les élèves lui pourrissent son onglet accueil". C'est pas faux ça pourrais arriver, mais de mon coté je gérerais la modification à l'ouverture et rétablirais le ruban à la fermeture.

    Concernant la version d'excel, je ne savais pas que la gestion du ruban en VBA changeait énormément entre les versions, j'utilise Microsoft office Professionnel Plus 2019 et ma prof aussi.

    Je te pris également de ne pas mal prendre mon dernier message, j'ai simplement voulu te faire remarquer que je ne cherchais pas à le réaliser manuellement, comme tu me l'expliquais.

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par cybevil Voir le message
    Consigne :
    " Il est par ailleurs rappelé et recommandé d’assurer un minimum de convivialité pour
    l’interface en créant un bouton de commande lançant l’application et en assurant le
    lancement de l’application dès l’ouverture du fichier ou encore en ajoutant un lien direct
    dans le ruban. "
    Je ne vois rien là-dedans qui spécifie que c'est dans le ruban d'Accueil que doit être placé le bouton.
    Si ta prof a une trentaine d'étudiants et que tous procèdent ainsi, tu imagines à quoi va ressembler son ruban d'accueil ?

    De toute façon, il est plus convivial de placer un bouton de lancement dans la barre d'outils à accès rapide.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 6
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Je ne vois rien là-dedans qui spécifie que c'est dans le ruban d'Accueil que doit être placé le bouton.
    Si ta prof a une trentaine d'étudiants et que tous procèdent ainsi, tu imagines à quoi va ressembler son ruban d'accueil ?

    De toute façon, il est plus convivial de placer un bouton de lancement dans la barre d'outils à accès rapide.
    Oui ce n'était qu'une idée, je ne suis pas contre placer le bouton autre part tant que ça reste intuitif.
    Tu connais un moyen de le placer dans la barre d'outils à accès rapide en VBA ?

  8. #8
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par cybevil Voir le message
    Tu connais un moyen de le placer dans la barre d'outils à accès rapide en VBA ?
    Si je le savais, je l'aurais dit.
    La dernière fois que j'ai modifié un ruban en VBA, c'était avec Excel 2003, une version qui avait des menus très différent des versions actuelles (d'où ma question sur la version).

    A l'époque, il fallait passer par la collection CommandBars mais je doute que ce soit faisable dans les versions actuelles.
    https://docs.microsoft.com/fr-fr/off...on.commandbars

    La porte d'entrée doit vraisemblablement être un membre de Application mais je ne sais pas lequel.
    https://docs.microsoft.com/fr-fr/off...cation(object)

  9. #9
    Membre confirmé
    Homme Profil pro
    Technicien méthodes métrologie sur site
    Inscrit en
    Novembre 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Technicien méthodes métrologie sur site
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2010
    Messages : 107
    Par défaut
    Voilà un exemple de code pour ajouter une commande dans le ruban :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    Sub Auto_Open()
     
    'Macro qui se déroule automatiquement à l'ouverture du fichier rapport pour ajouter une barre de menu personnalisée _
    avec les boutons pour lancer les macros de recherche d'étalons
     
    Dim barre As CommandBar
    Dim bouton As CommandBarControl
    On Error Resume Next
    'Ajoute un sous groupe dans le menu compléments
    Set barre = CommandBars.Add(Name:="Etalons")
    barre.Visible = True
     
    'Dans le sous-groupe on ajoute un bouton
    Set bouton = CommandBars("Etalons").Controls.Add(Type:=msoControlButton)
    bouton.Style = msoButtonIconAndCaption
    'Le bouton lance la macro "ouvrir_carac_étalons_lite" située ci-dessous
    bouton.OnAction = "ouvrir_carac_étalons_lite"
    'Le bouton porte le nom Recherche EMT
    bouton.Caption = "Recherche EMT"
     
    'Toujours dans le même sous-groupe on ajoute un autre bouton
    Set bouton = CommandBars("Etalons").Controls.Add(Type:=msoControlButton)
    bouton.Style = msoButtonIconAndCaption
    'Le bouton lance la macro "ouvrir_carac_étalons" située ci-dessous
    bouton.OnAction = "ouvrir_carac_étalons"
    'Le bouton porte le nom Recherche étalon
    bouton.Caption = "Recherche étalon"
     
    'Dans le sous-groupe on ajoute un bouton
    Set bouton = CommandBars("Etalons").Controls.Add(Type:=msoControlButton)
    bouton.Style = msoButtonIconAndCaption
    'Le bouton lance la macro "ouvrir_carac_étalons_lite" située ci-dessous
    bouton.OnAction = "ouvrir_lien_doc"
    'Le bouton porte le nom Recherche EMT
    bouton.Caption = "Documents"
     
    End Sub
    Pour que le ruban revienne à la normale quand tu fermes ton appli, il suffit d'ajouter celui-ci en plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub Auto_Close()
     
    'Macro qui se déroule automatiquement à la fermeture du fichier rapport pour supprimer la barre de menu personnalisée _
    qui a été ajoutée à l'ouverture
    On Error GoTo err
    CommandBars.Item("Etalons").Delete
     
    err:
    Exit Sub
     
    End Sub

  10. #10
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Par défaut
    Bonjour,

    Tu trouveras ici comment ajouter une barre de commande et des boutons qui apparaissent dans l'onglet complément : FAQ Excel Créer une barre d'outils personnelle

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/02/2020, 08h50
  2. [XL-2010] Ruban Excel: ajouter un bouton dans un onglet existant
    Par Eelectron dans le forum Excel
    Réponses: 0
    Dernier message: 10/06/2015, 22h22
  3. Problème de boutons dans des onglets
    Par nicolav dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/07/2009, 10h33
  4. Réponses: 0
    Dernier message: 12/11/2007, 21h59
  5. Ajouter un bouton dans un onglet
    Par cocacola dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 30/04/2007, 18h43

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