Récupérer ItemID (et non pas label) lors d'un clic dans la combobox du ruban

Nephtys

XLDnaute Nouveau
Bonjour !

Je travaille actuellement sur un "planning" gérant les absences et affectations des salariés de mon entreprise sur une année (un onglet).
J'ai intégré un ruban personnalisé pour faciliter la saisie. Dans ce ruban, j'ai une combobox qui se met à jour sur le clic et récupère la liste des chantiers de l'année (ceux-ci changeant tous les ans, il est plus simple de faire une récupération automatique à l'intérieur du tableau).
Mon but, à terme, est de pouvoir affecter une macro selon la ligne cliquée dans la combobox du ruban.
Le contenu de cette dernière change à chaque fois que l'utilisateur change de feuille, je ne peux donc pas faire une conditionnelle avec les valeurs.
J'ai donc cherché à récupérer les numéro d'index qui eux ne changeront pas, quel que soit le contenu de la liste. Cependant, à chaque fois, il me sort le label, je ne comprends pas comment l'obliger à me renvoyer l'index (le numéro de la ligne)

De plus, je ne trouve pas comment appeler une macro dans OnChange (ChangeCombo)

Voici mon code :
VB:
    'Attribue un id à chaque élément
Sub GetItemID(control As IRibbonControl, index As Integer, ByRef returnedVal)
    returnedVal = "strID" & index + 1
 
End Sub
 
'Callback for Combo1 onChange
Sub ChangeCombo(control As IRibbonControl, text As String)
    'Renvoie l'élément sélectionné dans la combobox
    If text = "strID1" Then
        'Appel macro Siege
    ElseIf text = "strID2" Then
        'Appel macro ChantierA
    ElseIf text = "strID3" Then
        'Appel macro ChantierB
    ElseIf text = "strID4" Then
        'Appel macro ChantierC
    ElseIf text = "strID5" Then
        'Appel macro ChantierD
    ElseIf text = "strID 6" Then
        'Appel macro ChantierE
    ElseIf text = "strID7" Then
        'Appel macro ChantierF
    ElseIf text = "strID8" Then
        'Appel macro ChantierG
    ElseIf text = "strID9" Then
        'Appel macro ChantierH
    ElseIf text = "strID10" Then
        'Appel macro ChantierI
    ElseIf text = "strID11" Then
        'Appel macro ChantierJ
    ElseIf text = "strID12" Then
        'Appel macro ChantierK
    ElseIf text = "strID13" Then
        'Appel macro ChantierL
    
    End If
    
End Sub

Dans l'attente de vos lumières salvatrices. Merci de votre attention. ;)
 
Dernière édition:

Nephtys

XLDnaute Nouveau
Re : Récupérer ItemID (et non pas label) lors d'un clic dans la combobox du ruban

J'ai réussi à obtenir ce que je voulais en remplaçant mon contrôle par une liste déroulante Dropdown
Malheureusement, cette dernière ne se met pas à jour sur activation, comme le fait une combobox avec le contrôle InvalidateContentOnDrop.

Savez-vous s'il est possible d'actualiser un contrôle de type dropdown lorsque l'on clique dessus ?

Dans l'attente de vos lumières, merci de votre attention.
 

Discussions similaires

Statistiques des forums

Discussions
312 167
Messages
2 085 901
Membres
103 027
dernier inscrit
Dridi Ahmed