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

Contribuez Discussion :

[Excel2007] Gérer un Combobox dans un ruban personnalisé


Sujet :

Contribuez

  1. #1
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut [Excel2007] Gérer un Combobox dans un ruban personnalisé
    Cet exemple :
    * Crée un onglet personnel dans le ruban.
    * Remplit une combobox du ruban personnalisé à partir de cellules de la feuille de calcul.
    * Identifie la sélection d'un élément dans la combobox.


    Insérez ce code dans le fichier CustomUI.xml d'un classeur Excel2007, type xlsm:

    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
    <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" >
    <ribbon startFromScratch="false">
    <tabs>
     
    <tab id="OngletPerso" label="OngletPerso" visible="true">
       <group id="Projet01" label="Projet 01">
     
          <!-- getItemCount="NbItemCombo" va définir le nombre d'items dans la combobox. --> 
          <!-- getItemLabel="ComboLabel" permet d'alimenter la combobox. -->
          <!-- onChange="ChangeCombo1" gère l'évènement 'Change' dans la combobox. -->
     
          <comboBox id="Combo1" label="Choix : " getItemCount="NbItemCombo" getItemLabel="ComboLabel"
             onChange="ChangeCombo1" />
       </group>
    </tab>
     
    </tabs>
    </ribbon>
    </customUI>



    Dans un module standard :

    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
    Option Explicit
     
    'Callback for Combo1 getItemCount
    Sub NbItemCombo(control As IRibbonControl, ByRef returnedVal)
        'Définit le nombre d'éléments dans la combobox
        returnedVal = 4
    End Sub
     
     
     
    'Callback for Combo1 getItemLabel
    'Index est défini par la valeur saisie dans Sub NbItemCombo (=4)
    Sub ComboLabel(control As IRibbonControl, index As Integer, ByRef returnedVal)
     
        'Alimente le Combobox à partir des données de la plage A1:A4
        returnedVal = Worksheets("Feuil1").Cells(index + 1, 1)
    End Sub
     
     
     
    'Callback for Combo1 onChange
    Sub ChangeCombo1(control As IRibbonControl, text As String)
        'Renvoie l'élément sélectionné dans la combobox
        MsgBox text
    End Sub

  2. #2
    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
    bonjour silkyroad

    j'ai une combobox dans le ruban alimentée par une liste de classeur à ouvrir.

    Lorsque je ferme le classeur, la combobox se réinitialise et je peux l'utiliser pour rouvrir le même classeur.

    Par contre si j'ouvre deux classeurs et passe de l'un à l'autre, si le premier classeur fermé n'est pas celui affiché dans la combobox, elle n'est pas réinitialisée.

    Auriez vous une piste pour parer à ce désagrément?

    D'avance merci
    fred

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonjour Fred

    je suis désolé mais je n'ai pas compris ta question.

  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
    bonjour,
    Citation Envoyé par SilkyRoad Voir le message
    bonjour Fred

    je suis désolé mais je n'ai pas compris ta question.
    en effet après relecture, ce n'était pas très clair, j'ai donc voulu détailler la façon de procéder et me suis rendu compte que je voulais utiliser la ComboBox pour activer un classeur déjà ouvert lorsque j'étais passé à une autre fenêtre.

    Je n'ai pas codé pour cela donc je vais m'y attaquer.

    Désolé pour cette intervention qui n'avait pas lieu d'être

    Cordialement
    fred

Discussions similaires

  1. Problème d'Utilisation d'un combobox dans le Ruban
    Par broch002 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/02/2013, 18h44
  2. [XL-2010] Image dans un ruban personnalisé
    Par pubbins dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 02/12/2011, 15h20
  3. [XL-2007] Assigner une icone dans le ruban personnalisé de'excel et lui attribuer une macro VBA
    Par Romanuche dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/07/2009, 10h44
  4. Le format des images dans le ruban personnalisé
    Par nicolas2603 dans le forum IHM
    Réponses: 2
    Dernier message: 14/11/2008, 00h57
  5. Réponses: 0
    Dernier message: 12/11/2007, 21h59

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