Bonjour,

Je suis nouvelle en XML. C'est la première fois que je fais des rubans dans Excel 2010 et j'ai quelques problèmes, alors voici:

J'ai créer un fichier excel et le code xml qui personnalise le ruban. Aussi, lorsque j'ouvre ce classeur (.xlsm) je veux que cet onglet soit disponible à tous les nouveaux classeur que je créé. C'est la raison pour laquelle j'ai mis des idQ="A: blablabla". j'ai donc mon onglet dans tous les classeurs que j'ouvre sans aucun problème. (p.s.: je ne veux pas faire un .xlam car je ne veux pas toujours voir cet onglet lorsque je n'en ai pas besoin).

Mon code xml est le suivant:

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
39
40
41
42
43
44
45
46
47
48
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" xmlns:A="Formatage Excel">
 
<!-- l'onglet est ajouté au ruban standatd-->
<ribbon startFromScratch="false">
 
  <tabs>
    <tab idQ="A:OngletFormatageExcel" label="Formatage Excel"
                  visible="true">
 
    <!-- Crée le groupe Define table range -->  
    <group idQ="A:RangeDefine" label="Range Defining">
 
    <button idQ="A:btDefineRange" label="Define Table Range"
                 screentip="Select the table."
       	    onAction="A:CallBacksList.DefineRange"
      	    supertip="This will define the table with the selected range." 
      	    size="large" imageMso="AccessTableEvents" />
    </group>
 
    <group idQ="A:FormatRow" label="Formatting">
       <labelControl idQ="A:lblFormatRow" label="Format Row" />
 
        <splitButton idQ="A:Split01" > 
	<menu> 
               <!les imageMSo ont été répétés mais elles seront changées -->
	   <button idQ="A:button01" imageMso="FileLinksToFiles"
                                 label="Nom de l'item 1 " />
 	   <button idQ="A:button02" imageMso="FileLinksToFiles"
                                 label="Nom de l'item 2 " /> 
	   <button idQ="A:button03" imageMso="FileLinksToFiles"
                                 label="Nom de l'item 3 " /> 			
	  </menu> 
          </splitButton> 
 
        <separator idQ="A:Sep01"/>
           <labelControl idQ="A:lblFormatColumn" label="Format Column" />
 
        <separator idQ="A:Sep02"/>
            <labelControl idQ="A:lblFormatSelection" label="Format Selection" />
 
       <separator idQ="A:Sep03"/>
	<labelControl idQ="A:lblClearFormat" label="ClearFormat" />
    </group>
 
  </tab>
</tabs>
</ribbon>
</customUI>
Le code que j'ai mis dans Excel est le suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
'Callback for btDefineRange onAction
Sub DefineRange(control As IRibbonControl)
    MsgBox "Opération 'Personnaliser le ruban' réussie!"    
    Call FormatSelection.ChangeTableDefine
End Sub
Mon problème est que lorsque je clique sur mon bouton btDefineRange, le code ne s'exécute pas. Si j'enlève le idQ, le bouton fonctionne (le code s'exécute) mais lorsque j'ouvre un nouveau classeur, Mon onglet est disponible mais mon fameux bouton n'est pas affiché dans le groupe. Quelqu'un a-t-il une solution?

Aussi, je voudrais définir des fonctions pour chaque bouton de mon splitButton. est-ce que l'attribut onAction="NomDeLaFonction" est disponible pour ces splitbutton?

Comment déclare-t-on 2 xmlns ou plus par exemple, A, B, C et D?

Quelqu'un a une solution?