IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Personnaliser la vue Backstage d'Access 2010

logo_office_2010.gif


précédentsommairesuivant

X. Callback

Les fonctions de rappel (appelées Callback), permettent d'interagir sur le contenu ou sur le visuel des contrôles.
Celles-ci sont appelées au chargement de la vue Backstage et lorsqu'on invalide le ruban ou un contrôle.

Dans les différents exemples j'ai opté pour un seul type d'appel et de solution par Select Case sur l'ID du contrôle pour exécuter le code. Je trouve ceci beaucoup plus clair et surtout plus facile au niveau maintenance. Vous pouvez créer une procédure différente pour chaque Callback mais pensez à bien structurer celle-ci et surtout à bien les nommer.

 

X-1. onAction

Nom du Ruban : rubonAction

Cette fonction permet de lancer une procédure VBA sur action du contrôle.

 
Sélectionnez
<button id="btnTest1" label="Test" onAction="clbckonAction"/>

Sur action du bouton la procédure clbckonAction sera exécutée :

 
Sélectionnez
Sub clbckonAction(control As IRibbonControl)
    Select Case control.Id
    Case "btnTest1"
        MsgBox "Vous venez de cliquer sur le bouton"
    End Select
End Sub

X-1-1. Case à cocher

Nom du Ruban : rubonActionPress

Cette fonction permet de lancer une procédure VBA sur l'action d'une case à cocher. La procédure de rappel renvoie une valeur de type booléen correspondant à l'état du contrôle.

Code XML :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso">
              <firstColumn>
                   <group id="group1">
                        <bottomItems>
                             <button id="btnPressed1" label="Bouton N° 1" onAction="clbckonAction"/>
                             <button id="btnPressed2" label="Bouton 2" onAction="clbckonAction"/>
                             <checkBox id="chkPressed" label="Case à cocher" getPressed="clbckgetPressed" onAction="clbckonActionPress"/>
                        </bottomItems>
                   </group>
              </firstColumn>
         </tab>
    </backstage>
</customUI>

Code VBA : la valeur est retournée par pressed

 
Sélectionnez
Option Compare Database

Public UIRubanPerso As IRibbonUI
Public blnTest As Boolean
'

Sub oldBackstage(UIRuban As IRibbonUI)
    Set UIRubanPerso = UIRuban
    blnTest = False
End Sub

Sub clbckonAction(control As IRibbonControl)
    Select Case control.id
    Case "btnPressed1"
        blnTest = False
    Case "btnPressed2"
        blnTest = True
    End Select
    UIRubanPerso.Invalidate
End Sub

Sub clbckonActionPress(control As IRibbonControl, pressed As Boolean)
Select Case control.id
Case "chkPressed"
   MsgBox "La case à cocher à pour valeur : " & pressed
End Select
End Sub

X-1-2. Liste

Nom du Ruban : rubCombo

Cette fonction permet de lancer une procédure VBA sur l'action d'une liste de type dropDown. La procédure de rappel renvoi l'ID de la sélection du contrôle ainsi que l'index.

Code XML :

 
Sélectionnez
<dropDown id="comboBox1" label="Liste déroulante" onAction="clbckOnActionListe">

Code VBA :

 
Sélectionnez
Sub clbckOnActionListe(control As IRibbonControl, itemID As String, itemIndex As Integer)
    Select Case control.id
    Case "comboBox1"
        MsgBox "itemID : " & itemID & vbCrLf & "itemIndex : " & itemIndex
    End Select
End Sub
 

X-2. getEnabled

Nom du Ruban : rubgetEnabled

Cette fonction permet de définir l'activation ou non du contrôle.

Voici le code XML :

 
Sélectionnez
<button id="button1" label="Test" getEnabled="clbckgetEnabled"/>

Lors du chargement de la vue Backstage la fonction clbckgetEnabled sera exécutée, la valeur pour le contrôle est retournée par le paramètre enabled.

 
Sélectionnez
Sub clbckgetEnabled(control As IRibbonControl, ByRef enabled)
    Select Case control.id
    Case "button1"
        enabled = blnTest
    End Select
End Sub

Dans notre exemple, la variable blnTest de type booléen est chargée à False au lancement de la vue Backstage.

Voici le résultat :

image42.png

Maintenant nous allons rendre dynamique cette vue, ajouter un autre bouton qui lors de son action activera le premier bouton et se désactivera et vice-versa entre les deux boutons.

Code XML :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso">
              <firstColumn>
                   <group id="group1">
                        <bottomItems>
                             <button id="button1" label="Test" getEnabled="clbckgetEnabled" onAction="clbckonAction"/>
                             <button id="button2" label="btn Action" onAction="clbckonAction" getEnabled="clbckgetEnabled"/>
                        </bottomItems>
                   </group>
              </firstColumn>
         </tab>
    </backstage>
</customUI>

On peut distinguer que chaque bouton appelle les procédures clbckgetEnabled et clbckonAction.

Voici le code VBA :

 
Sélectionnez
Option Compare Database

Global UIRubanPerso As IRibbonUI
Public blnTest As Boolean
'

Sub oldBackstage(UIRuban As IRibbonUI)
    Set UIRubanPerso = UIRuban
End Sub

Sub clbckgetEnabled(control As IRibbonControl, ByRef enabled)
    Select Case control.id
    Case "button1"
        enabled = blnTest
    Case "button2"
        enabled = Not (blnTest)
    End Select
End Sub

Sub clbckonAction(control As IRibbonControl)
    Select Case control.id
    Case "button1"
        blnTest = False
    Case "button2"
        blnTest = True
    End Select
    UIRubanPerso.Invalidate
End Sub

On déclare une variable Global pour instancier le Ruban, puis une variable Public, toutes deux de type booléen. On instancie la variable pour le Ruban et on affecte sa valeur à un bouton et la valeur inverse à l'autre bouton. Sur action des boutons on modifie la variable et on demande le rechargement de la Vue pour sa mise à jour.

 

X-3. getVisible

Nom du Ruban : rubgetVisible

Cette fonction permet de définir la visibilité ou non du contrôle.

Voici le code XML :

 
Sélectionnez
<button id="btnVisible1" label="Test" getVisible="clbckgetVisible"/>

Lors du chargement de la vue Backstage la fonction clbckgetVisible sera exécutée, la valeur pour le contrôle est retournée par le paramètre visible.

 
Sélectionnez
Sub clbckgetVisible(control As IRibbonControl, ByRef visible)
    Select Case control.id
    Case "btnVisible1"
        visible = blnTest
    End Select
End Sub

Dans notre exemple, la variable blnTest de type booléen, est chargée à False au lancement de la vue Backstage. Par défaut le contrôle n'est pas visible.

Nous allons refaire le même jeu que le Callbak précédent sauf qu'au lieu d'activer/désactiver nous allons rendre visibles ou non les boutons.


XML :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso">
              <firstColumn>
                   <group id="group1">
                        <bottomItems>
                             <button id="btnVisible1" label="Test" onAction="clbckonAction" getVisible="clbckgetVisible"/>
                             <button id="btnVisible2" label="btn Action" onAction="clbckonAction" getVisible="clbckgetVisible"/>
                        </bottomItems>
                   </group>
              </firstColumn>
         </tab>
    </backstage>
</customUI>

VBA :

 
Sélectionnez
Option Compare Database

Global UIRubanPerso As IRibbonUI
Public blnTest As Boolean
'

Sub oldBackstage(UIRuban As IRibbonUI)
    Set UIRubanPerso = UIRuban
    blnTest = False
End Sub

Sub clbckonAction(control As IRibbonControl)
    Select Case control.id
    Case "btnVisible1"
        blnTest = False
    Case "btnVisible2"
        blnTest = True
    End Select
    UIRubanPerso.Invalidate
End Sub

Sub clbckgetVisible(control As IRibbonControl, ByRef visible)
    Select Case control.id
    Case "btnVisible1"
        If blnTest = True Then
            visible = False
        Else
            visible = True
        End If
    Case "btnVisible2"
        If blnTest = True Then
            visible = True
        Else
            visible = False
        End If
    End Select
End Sub
 

X-4. getLabel

Nom du Ruban : rubgetLabel

Cette fonction permet de définir le texte qui sera affiché dans le label du contrôle.

Voici le code XML :

 
Sélectionnez
<button id="button1" getLabel="clbckgetLabel"/>

Lors du chargement de la vue Backstage la fonction clbckgetLabel sera exécutée, la valeur pour le contrôle est retournée par le paramètre label.

 
Sélectionnez
Sub clbckgetLabel(control As IRibbonControl, ByRef label)
    Select Case control.id
    Case "button1"
        label = IIf(blnTest, "Sélectionné", "Non Sélectionné")
    End Select
End Sub

Toujours sur le principe précédent nous allons modifier le label des boutons en fonction de leur sélection.

XML :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso">
              <firstColumn>
                   <group id="group1">
                        <bottomItems>
                             <button id="button1" onAction="clbckonAction" getLabel="clbckgetLabel"/>
                             <button id="button2" onAction="clbckonAction" getLabel="clbckgetLabel"/>
                        </bottomItems>
                   </group>
              </firstColumn>
         </tab>
    </backstage>
</customUI>

VBA :

 
Sélectionnez
Option Compare Database

Global UIRubanPerso As IRibbonUI
Public blnTest As Boolean
'

Sub oldBackstage(UIRuban As IRibbonUI)
    Set UIRubanPerso = UIRuban
    blnTest = False
End Sub

Sub clbckonAction(control As IRibbonControl)
    Select Case control.id
    Case "button1"
        blnTest = False
    Case "button2"
        blnTest = True
    End Select
    UIRubanPerso.Invalidate
End Sub

Sub clbckgetLabel(control As IRibbonControl, ByRef label)
    Select Case control.id
    Case "button1"
        label = IIf(blnTest, "Non Sélectionné", "Sélectionné")
    Case "button2"
        label = IIf(Not (blnTest), "Non Sélectionné", "Sélectionné")
    End Select
End Sub
 

X-5. getImage

Nom du Ruban : rubgetImage

Cette fonction permet de définir l'image du contrôle.

Voici le code XML :

 
Sélectionnez
<button id="button1" label="Bouton 1" getImage="clbckgetImage"/>

Lors du chargement de la vue Backstage la fonction clbckgetImage sera exécutée, la valeur pour le contrôle est retournée par le paramètre image.

 
Sélectionnez
Sub clbckgetImage(control As IRibbonControl, ByRef image)
    Select Case control.id
    Case "button1"
        Set image = LoadPicture(strCheminBDD & "ok.ico")
    End Select
    
End Sub


Nous allons maintenant changer l'icône du contrôle en fonction de sa sélection, celle-ci sera représentée par une coche.

Code XML :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso" insertBeforeMso="TabRecent">
              <firstColumn>
                   <group id="group1">
                        <bottomItems>
                             <button id="button1" label="Bouton 1" getImage="clbckgetImage" onAction="clbckonAction"/>
                             <button id="button2" label="Bouton 2" getImage="clbckgetImage" onAction="clbckonAction"/>
                        </bottomItems>
                   </group>
              </firstColumn>
         </tab>
    </backstage>
</customUI>

Code VBA :

 
Sélectionnez
Option Compare Database

Global UIRubanPerso As IRibbonUI
Public blnTest As Boolean
'

Sub oldBackstage(UIRuban As IRibbonUI)
    Set UIRubanPerso = UIRuban
    blnTest = False
End Sub

Sub clbckonAction(control As IRibbonControl)
    Select Case control.id
    Case "button1"
        blnTest = False
    Case "button2"
        blnTest = True
    End Select
    UIRubanPerso.Invalidate
End Sub

Sub clbckgetImage(control As IRibbonControl, ByRef image)
    ' déclaration des objets
    Dim objOK As Object
    Dim objNOK As Object
    
    ' instance des objets
    Set objOK = LoadPicture(strCheminBDD & "ok.ico")
    Set objNOK = LoadPicture(strCheminBDD & "nok.ico")

    Select Case control.Id
    Case "button1"
        Set image = IIf(blnTest, objNOK, objOK)
    Case "button2"
        Set image = IIf(Not (blnTest), objNOK, objOK)
    End Select
    
End Sub
 

X-6. getKeytip

Nom du Ruban : rubgetKeytip

Cette fonction permet de définir le raccourci clavier du contrôle, par appui de la touche ALT.

Voici le code XML :

 
Sélectionnez
<button id="button1" label="Bouton 1" getKeytip="clbckgetKeytip"/>


Code VBA:

 
Sélectionnez
Sub clbckgetKeytip(control As IRibbonControl, ByRef keytip)
    Select Case control.id
    Case "button1"
        keytip = "BT1"
    End Select
End Sub

Voici un exemple avec un onglet personnalisé et deux boutons.

Code XML :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso" insertBeforeMso="TabRecent" keytip="BY7">
              <firstColumn>
                   <group id="group1">
                        <bottomItems>
                             <button id="button1" label="Bouton 1" onAction="clbckonAction" getKeytip="clbckgetKeytip"/>
                             <button id="button2" label="Bouton 2" onAction="clbckonAction" getKeytip="clbckgetKeytip"/>
                        </bottomItems>
                   </group>
              </firstColumn>
         </tab>
    </backstage>
</customUI>


Code VBA :

 
Sélectionnez
Sub clbckgetKeytip(control As IRibbonControl, ByRef keytip)
    Select Case control.id
    Case "button1"
        keytip = "BT1"
    Case "button2"
        keytip = "BT2"
    End Select
End Sub

Sur appui de la touche ALT une liste de raccourcis apparaît sur le volet de navigation. Notre onglet personnalisé a bien le raccourci BY7. En tapant les lettres, l'onglet est sélectionné et on aperçoit ensuite les raccourcis des deux boutons BT1 et BT2.

image43.png
 

X-7. getTitle

Nom du Ruban : rubgetTitle

Cette fonction permet de définir le titre du contrôle.

Voici le code XML :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso" getTitle="clbckgetTitle">
              <firstColumn>
                   <group id="group1">
                        <bottomItems>
                             <button id="button1" label="Bouton 1" onAction="clbckonAction"/>
                             <button id="button2" label="Bouton 2" onAction="clbckonAction"/>
                        </bottomItems>
                   </group>
              </firstColumn>
         </tab>
    </backstage>
</customUI>

Code VBA :

 
Sélectionnez
Sub clbckgetTitle(control As IRibbonControl, ByRef title)
    Dim strTitre As String
    strTitre = "Titre : Onglet Personnalisé - "
    Select Case control.id
    Case "tab1"
        title = IIf(blnTest, strTitre & "Bouton 2", strTitre & "Bouton 1")
    End Select
End Sub


Voici le résultat :

image44.png

Le titre devient dynamique, et change en fonction du bouton sélectionné.

 

X-8. getShowLabel

Nom du Ruban : rubgetShowLabel

Cette fonction permet de définir l'affichage ou non de l'étiquette du contrôle.

Voici le code XML :

 
Sélectionnez
<group id="group1" label="Label du Groupe" getShowLabel="clbckgetShowLabel">

Lors du chargement de la vue Backstage la fonction clbckgetShowLabel sera exécutée, la valeur pour le contrôle est retournée par le paramètre showlabel

 
Sélectionnez
Sub clbckgetShowLabel(control As IRibbonControl, ByRef showLabel)
    Select Case control.id
    Case "group1"
        showLabel = False
    End Select
End Sub
 

X-9. getHelperText

Nom du Ruban : getHelperText

Cette fonction permet de définir la valeur du Helper (texte placé sous le label).

Voici le code XML :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso">
              <firstColumn>
                   <group id="group1" label="Label du Groupe" getHelperText="clbckgetHelperText">
                        <bottomItems>
                             <button id="button1" label="Bouton 1"/>
                        </bottomItems>
                   </group>
              </firstColumn>
         </tab>
    </backstage>
</customUI>

Lors du chargement de la vue Backstage la fonction clbckgetHelperTextsera exécutée, la valeur pour le contrôle est retournée par le paramètre helperText

 
Sélectionnez
Sub clbckgetHelperText(control As IRibbonControl, ByRef helperText)
    Select Case control.id
    Case "group1"
        helperText = "Texte Auxiliaire"
    End Select
End Sub
 

X-10. getStyle

Nom du Ruban : getStyle

Cette fonction permet de définir le style d'affichage du contrôle.

Voici le code XML :

 
Sélectionnez
<group id="group1" label="Label du Groupe" getStyle="clbckgetStyle">

Lors du chargement de la vue Backstage la fonction clbckgetStyle sera exécutée. La valeur pour le contrôle est retournée par le paramètre style, et elle est de type numérique :

  • 0 = Normale;
  • 1 = Warning;
  • 2 = Error.
 
Sélectionnez
Sub clbckgetStyle(control As IRibbonControl, ByRef style)
    Select Case control.id
    Case "group1"
        style = 1 'warning
    End Select
End Sub

Dans l'exemple suivant nous modifions le style du groupe lors de la sélection du bouton.


Code XML :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso">
              <firstColumn>
                   <group id="group1" label="Label du Groupe" getStyle="clbckgetStyle">
                        <bottomItems>
                             <button id="button1" label="Bouton 1" onAction="clbckonAction"/>
                             <button id="button2" label="Bouton 2" onAction="clbckonAction"/>
                        </bottomItems>
                   </group>
              </firstColumn>
         </tab>
    </backstage>
</customUI>

Code VBA :

 
Sélectionnez
Public blnTest As Boolean
		
Sub clbckonAction(control As IRibbonControl)
    Select Case control.id
    Case "button1"
        blnTest = False
    Case "button2"
        blnTest = True
    End Select
    UIRubanPerso.Invalidate
End Sub

Sub clbckgetStyle(control As IRibbonControl, ByRef style)
    Select Case control.id
    Case "group1"
        style = IIf(blnTest, 2, 1)
    End Select
End Sub


Résultat :

image45.png
 

X-11. getScreentip

Nom du Ruban : getScreentip

Cette fonction permet de définir l'infobulle du contrôle.

Voici le code XML :

 
Sélectionnez
<button id="button1" label="Bouton 1" expand="vertical" getScreentip="clbckgetScreentip"/>

Code VBA:

 
Sélectionnez
Sub clbckgetScreentip(control As IRibbonControl, ByRef screentip)
Select Case control.id
Case "button1"
   screentip = "Screentip titre de l'info bulle"
End Select
End Sub
 

X-12. getSupertip

Nom du Ruban : getSupertip

Cette fonction permet de définir le texte multiligne de l'infobulle.

Pour réaliser un retour à ligne utilisez : &#13;

Voici le code XML :

 
Sélectionnez
<button id="button1" label="Bouton 1" expand="vertical" getScreentip="clbckgetScreentip" getSupertip="clbckgetSupertip"/>

Code VBA :

 
Sélectionnez
Sub clbckgetSupertip(control As IRibbonControl, ByRef supertip)
Select Case control.id
Case "button1"
   supertip = "Supertip corps du message de l'infobulle"
End Select
End Sub
 

X-13. getDescription

Nom du Ruban : getDescription

Cette fonction permet de définir la description d'une case à cocher contenue dans un menu.

Voici le code XML :

 
Sélectionnez
<checkBox id="checkBox1" getDescription="clbckgetDescription"/>

Code VBA:

 
Sélectionnez
Sub clbckgetDescription(control As IRibbonControl, ByRef description)
Select Case control.id
Case "checkBox1"
   description = "Description de la case à cocher"
End Select
End Sub
 

X-14. getPressed

Nom du Ruban : getPressed

Cette fonction permet de définir la valeur d'une case à cocher.

Voici le code XML :

 
Sélectionnez
<checkBox id="checkBox1" label="Case à cocher" getPressed="clbckgetPressed"/>

Code VBA :

 
Sélectionnez
Sub clbckgetPressed(control As IRibbonControl, ByRef pressed)
Select Case control.id
Case "checkBox1"
   pressed = True
End Select
End Sub

Dans le cas présent on force la valeur de la case à 1.

Maintenant nous allons changer la valeur de la case en fonction de la sélection de deux boutons :

Code XML :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso">
              <firstColumn>
                   <group id="group1">
                        <bottomItems>
                             <button id="button1" label="Bouton N° 1" onAction="clbckonAction"/>
                             <button id="button2" label="Bouton 2" onAction="clbckonAction"/>
                             <checkBox id="checkBox1" label="Case à cocher" getPressed="clbckgetPressed"/>
                        </bottomItems>
                   </group>
              </firstColumn>
         </tab>
    </backstage>
</customUI>

Code VBA :

 
Sélectionnez
Option Compare Database

Global UIRubanPerso As IRibbonUI
Public blnTest As Boolean
'

Sub oldBackstage(UIRuban As IRibbonUI)
    Set UIRubanPerso = UIRuban
    blnTest = False
End Sub

Sub clbckonAction(control As IRibbonControl)
    Select Case control.id
    Case "button1"
        blnTest = False
    Case "button2"
        blnTest = True
    End Select
    UIRubanPerso.Invalidate
End Sub

Sub clbckgetPressed(control As IRibbonControl, ByRef pressed)
Select Case control.id
Case "checkBox1"
   pressed = blnTest
End Select
End Sub
 

X-15. onChange

Nom du Ruban : rubonChange

Dans notre exemple, un message s'affiche donnant la valeur sélectionnée dans la liste.

Voici le code XML :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso">
              <firstColumn>
                   <group id="group1">
                        <bottomItems>
                             <comboBox id="comboBox1" label="Liste déroulante" onChange="clbckonChange">
                                  <item id="item1" label="Ligne 1"/>
                                  <item id="item2" label="Ligne 2"/>
                                  <item id="item3" label="Ligne 3"/>
                             </comboBox>
                        </bottomItems>
                   </group>
              </firstColumn>
         </tab>
    </backstage>
</customUI>

Code VBA :

 
Sélectionnez
Sub clbckonChange(control As IRibbonControl, text As String)
Select Case control.id
Case "comboBox1"
   MsgBox "Vous avez sélectionné " & text
End Select
End Sub


Dans notre exemple, un message s'affiche donnant la valeur sélectionnée dans la liste.

image46.png
 

X-16. getText

Nom du Ruban : rubgetText

Cette fonction permet de définir un texte qui sera affiché dans la zone de saisie de la liste déroulante.

Voici le code XML :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso">
              <firstColumn>
                   <group id="group1">
                        <bottomItems>
                             <comboBox id="comboBox1" label="Liste déroulante" getText="clbckgetText">
                                  <item id="item1" label="Ligne 1"/>
                                  <item id="item2" label="Ligne 2"/>
                                  <item id="item3" label="Ligne 3"/>
                             </comboBox>
                        </bottomItems>
                   </group>
              </firstColumn>
         </tab>
    </backstage>
</customUI>


Code VBA :

 
Sélectionnez
Sub clbckgetText(control As IRibbonControl, ByRef text)
    Select Case control.id
    Case "comboBox1"
        text = "Saisie"
    End Select
End Sub
 

X-17. getItemCount

Nom du Ruban : rubCombo

Cette fonction permet de définir le nombre d'objets à afficher dans la liste déroulante.

Voici le code XML :

 
Sélectionnez
<comboBox id="comboBox1" label="Liste déroulante" getItemCount="clbckgetItemCount">

Code VBA :

 
Sélectionnez
Sub clbckgetItemCount(control As IRibbonControl, ByRef itemcount)
    Select Case control.id
    Case "comboBox1"
        itemcount = 3
    End Select
End Sub

X-18. getItemiD

Nom du Ruban : rubCombo

Cette fonction permet de définir l'ID d'un élément spécifique dans le contrôle.

 
Sélectionnez
<comboBox id="comboBox1" label="Liste déroulante" getItemCount="clbckgetItemCount" getItemID="clbckGetItemID">

Code VBA :

 
Sélectionnez
Sub clbckgetItemiD(control As IRibbonControl, index As Integer, ByRef id)
    Select Case control.id
    Case "comboBox1"
        id = "item" & index + 1
    End Select
End Sub
 

X-19. getItemLabel

Nom du Ruban : rubCombo

Cette fonction permet de définir le texte qui s'affichera pour un élément spécifique de la liste.

 
Sélectionnez
<comboBox id="comboBox1" label="Liste déroulante" getItemCount="clbckgetItemCount" getItemID="clbckGetItemID" getItemLabel="clbckGetItemLabel">

Code VBA :

 
Sélectionnez
Sub clbckGetItemLabel(control As IRibbonControl, index As Integer, ByRef label)
    Select Case control.id
    Case "comboBox1"
        label = "Liste " & index + 1
    End Select
End Sub
 

X-20. getSelectedItemIndex

Nom du Ruban : rubCombo

Cette fonction permet de définir l'index de l'élément selectionné.

 
Sélectionnez
<comboBox id="comboBox1" label="Liste déroulante" getItemCount="clbckgetItemCount" getItemID="clbckGetItemID" getItemLabel="clbckGetItemLabel">

Code VBA : (ici l'élément ayant pour index 2 sera défini par défaut).

 
Sélectionnez
Sub clbckGetSelectedItemIndex(control As IRibbonControl, ByRef index)
    Select Case control.id
    Case "comboBox1"
        index = 2
    End Select
End Sub
 

X-21. getTarget

Nom du Ruban : rubLien

Cette fonction permet de définir le chemin du lien hypertexte.

 
Sélectionnez
<hyperlink id="hypLien1" label="http://dolphy35.developpez.com/" getTarget="clbckGetTarget"/>

Code VBA : (ici l'élément ayant pour index 2 sera défini par défaut).

 
Sélectionnez
Sub clbckGetTarget(control As IRibbonControl, ByRef target)
    Select Case control.id
    Case "hypLien1"
        target = "http://dolphy35.developpez.com/"
    End Select
End Sub
 

X-22. getAltText

Nom du Ruban : rubAltTexte

Cette fonction permet de définir le texte alternatif du contrôle.

 
Sélectionnez
<imageControl id="imageControl1" image="dolphy.bmp" getAltText="clbckGetAltText"/>

Code VBA :

 
Sélectionnez
Sub clbckGetAltText(control As IRibbonControl, ByRef alText)
    Select Case control.id
    Case "imageControl1"
        alText = "Image de Dolphy"
    End Select
End Sub

précédentsommairesuivant

Copyright © 2012 Morgan BILLY. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.