Appel d'une macro excel à partir du ruban

Intro: J'ai écrit de courtes macros excel (testées, elles fonctionnent bien) et je veux les relier à un bouton dans le ruban (Excel 2010). Je l'avais déjà fait avec succès dans Excel 2007. J'utilise Custom UI Editor pour construire un nouveau ruban, qui fonctionne aussi très bien. Tout est emballé dans une .xlam ajouter-dans Excel. Le ruban se montre bien, tous les autres boutons fonctionnent, mais ...

problème: quand j'appuie sur le bouton qui est lié à la macro, je reçois l'erreur: "nombre erroné de paramètres ou d'assignation de propriété non valide "(message traduit de l'italien, pourrait ne pas être exactement le même en anglais)

informations de dépannage: Les macros n'ont pas de paramètres. Les mêmes macros peuvent être appelées et exécutées manuellement. Je suis même capable d'ajouter les mêmes macros à la barre D'outils D'accès rapide.

Voici la partie spécifique de l'écriture du ruban:

<group id="DupNumber" label="Number" insertBeforeMso="GroupNumber" >  
    <comboBox idMso="NumberFormatGallery"/> 
    <box id="HN1" boxStyle="horizontal"> 
        <buttonGroup id="HNButtonGroup1"> 
            <button id="Euro" onAction="Roberto.xlam!EURZ" imageMso="F" supertip="text ..."/> 
            <button id="EuroNZ" onAction="Roberto.xlam!EURNZ" imageMso="E" supertip="text ..."/> 
            <button idMso="PercentStyle"/> 
            <button id="Comma" onAction="Roberto.xlam!NewCommaFormat" imageMso="C" supertip="test ..."/> 
            <button idMso="PercentStyle"/> 
        </buttonGroup> 
    </box>

et voici le macros:

Sub EURZ()
    Application.ActiveCell.NumberFormat = "€ #,##0.00"
End Sub
Sub EURNZ()
    Application.ActiveCell.NumberFormat = "€ #,##0"
End Sub
Sub NewCommaFormat()
    Application.ActiveCell.NumberFormat = "#,##0"
End Sub

Pouvez-vous m'aider? Grâce Roberto

2
demandé sur Deduplicator 2011-08-18 16:35:25

1 réponses

Roberto,

je crois que vous avez besoin d'ajouter ce paramètre à votre macro "contrôle IRibbonControl"

donc il devrait ressembler à ceci:

Sub EURZ(control As IRibbonControl)
    Application.ActiveCell.NumberFormat = "€ #,##0.00"
End Sub

l'Espérance qui fonctionne pour vous.

- Justin

9
répondu Justin Self 2011-08-18 15:27:44