mettre a jour un controls dans le ruban custoUI par le click d'un autre controls
bonjour je suis dans une periode exeperiences ;)
j'essaie de coder un control calendrier dans mon ruban
pour le xml dans le customUI ca donne ceci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="RibbonSet">
<ribbon>
<tabs>
<tab id="test" label="test" >
<group id="group1" label="Calendrier">
<gallery id="gallery01"
size="large"
imageMso="StartAfterPrevious"
label="Calendar"
columns="7"
getItemCount="Nbjour"
showItemLabel="true"
getItemLabel="Labeljour"
onAction="Selectionjour" >
</gallery>
</group>
</tab>
</tabs>
</ribbon>
</customUI> |
pour le vba les callbacks
Code:
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
Public MonRuban As IRibbonUI
Dim Usf As Object
Public calendar As IRibbonControl
Public madate
'Callback for customUI.onLoad
'Est déclenché lors du chargement du ruban personnalisé.
Sub RibbonSet(ribbon As IRibbonUI)
Set MonRuban = ribbon
End Sub
'Callback for gallery01 getItemCount
Sub Nbjour(control As IRibbonControl, returnedVal)
Set calendar = control
returnedVal = 42
End Sub
'Callback for gallery01 getItemLabel
Sub Labeljour(control As IRibbonControl, index As Integer, returnedVal)
Dim d, nextday
If IsEmpty(madate) Then madate = Date
d = Day(DateSerial(Year(madate), Month(madate), 1))
nextday = Day(DateSerial(Year(madate), Month(madate) + 1, 0))
returnedVal = IIf(index + 1 >= d And index + 1 <= nextday, index + 1, "-")
End Sub |
et par exemple je souterais changer le mois avec cette sub declancher éventuellement par un autre bouton ou controls dans le ruban
Code:
1 2 3 4 5 6 7
| Sub test()
madate = CDate("01/06/2019")
Nbjour calendar, 42
Labeljour calendar,1, 5
MonRuban.InvalidateControl "gallery01"
RibbonSet MonRuban
End Sub |
alors au load du ruban c'est le mois en cours qui se créé et je voudrais pouvoir le changer par une sub ou un autre bouton
la sub ci dessus ne déclenche pas d'erreur mais ne fait rien :koi:
quelqu'un aurait une idée ?