XL 2010 CommandBar personnalisée : actions lancées deux fois au lieu d'une

luigiF

XLDnaute Junior
Salut à vous,
Dans l'exemple ci-joint, je crée une barre personnalisée qui permet de colorier les cellules sélectionnées.
La barre est créée lors de l'activation de la feuille 1.
Quelqu'un pourrait-il m'expliquer pourquoi l'action associée aux boutons dans ma barre est lancée deux fois et non une seule fois ?
Merci pour vos réponses.
Cordialement,
LuigiF

VB:
Option Explicit
Sub AfficheBarreCouleur()
    Dim c As Range
    Dim Barre As CommandBar
    On Error Resume Next
    CommandBars("MaBarre").Delete
    On Error GoTo 0
    
    Set Barre = Application.CommandBars.Add("MaBarre", , , 1)
    For Each c In Feuil1.Range("Couleurs")
        c.CopyPicture
        With Barre.Controls.Add(msoControlButton, , , , True)
            .PasteFace
            .Caption = c.Offset(, 1).Value
            .OnAction = "Couleur(" & c.Row & ")"
        End With
    Next c
    Barre.Visible = True
End Sub

Sub couleur(i As Integer)
    With Selection
        .Interior.Color = Feuil1.Range("Couleurs").Cells(i).Interior.Color
        .Value = .Value & Feuil1.Range("Couleurs").Cells(i).Offset(, 2)
    End With
End Sub
 

Pièces jointes

  • Barre.xlsm
    18.3 KB · Affichages: 7

Dranreb

XLDnaute Barbatruc
Bonjour.
Là, la macro ne semble pas du tout exécutée (ou alors en tant que fonction, dont je ne sais ce qu'il fait de la valeur renvoyée, et qui ne renvoie rien, là, de toute façon).
Essayez :
VB:
            .OnAction = "'Couleur " & c.Row & "'"
 

luigiF

XLDnaute Junior
Je me réponds après avoir trouvé l'origine du problème, au cas où cela servirait à quelqu'un ...
J'ai résolu le problème en ajoutant des simples quote dans la ligne suivante :

VB:
.OnAction = "Couleur(" & c.Row & ")"
remplacé par
.OnAction = "'Couleur(" & c.Row & ")'"

Le problème est donc résolu ... mais je ne suis pas certain que cela fonctionne sur toutes les versions d'Excel et dans toutes les langues.
Si quelqu'un a une autre solution, je suis preneur.
Cordialement
LuigiF
 

Discussions similaires

Réponses
0
Affichages
352

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
315 097
Messages
2 116 186
Membres
112 679
dernier inscrit
Yupanki