IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[E-03] Modification du menu contextuel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2007
    Messages : 43
    Par défaut [E-03] Modification du menu contextuel
    J'ai récupéré ici (sur developpez.com) un petit morceau de code qui me génère l'erreur suivante :
    "variable objet ou variable de bloc with non définie"
    sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Mc = CommandBars("Cell").Controls
    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
    'Initialisation dans l'évènement Workbook_open
    '
    Private Sub Workbook_Open()
        MenuCell "fctInsLig", "test"
    End Sub
     
    ' Insérer ligne
    '
    Sub fctInsLig()
        Range("A1").Select
        ActiveCell.FormulaR1C1 = "test"
     
    End Sub
     
    ' Ajout d'une entrée dans menu contextuel
    '
    Function MenuCell(stCde As String, stMess As String)
        Dim Mc As CommandBarControls
        Dim Bo As CommandBarButton
     
        Set Mc = CommandBars("Cell").Controls
        Set Bo = Mc.Add(msoControlButton, Temporary:=True)
        Bo.Caption = stMess
        Bo.OnAction = stCde
    Auriez vous une piste à me donner ?

    Amicalement

    Stéphane

  2. #2
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    Essaie de remplacer Cell par Cellule

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2007
    Messages : 43
    Par défaut
    Cela ne change malheureusement rien.

    Le message d'ereur est le même

    Amicalement

    Stéphane

  4. #4
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    C'est embêtant ça !
    Chez moi, ton code original fonctionne très bien !

    Euh ...
    Essaie ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub ListerBarresOutils
        Dim ocbBarre as CommandBar
        Dim strBarres as String
        For each ocbBarre in Application.CommandBars
            strBarres = strBarres & vbNewLine & ocbBarre.Name
        Next
        MsgBox Mid(strBarres, 3)
    End Sub
    Et regardes si tu trouves bien Cell dans la liste des barres d'outils...

  5. #5
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Bonjour,

    oui, il y as un "raccourci" dans le code, si celui-ci n'est pas dans un module, il faut préciser application.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set mc = Application.CommandBars("Cell").Controls

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2007
    Messages : 43
    Par défaut
    J'ai bien "Cell" dans la liste !

    Amicalement

    Stéphane

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2007
    Messages : 43
    Par défaut
    >oui, il y as un "raccourci" dans le code, si celui-ci n'est pas dans un module, il faut préciser application...

    Et bien cela y est, la lumière s'allume -))

    Merci de votre aide à tous les deux

    Amicalement

    Stéphane

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Modification du menu contextuel de l'éditeur de texte
    Par Brontozor dans le forum Code::Blocks
    Réponses: 0
    Dernier message: 08/01/2015, 23h16
  2. VBA Excel - Modification du menu contextuel
    Par FreeZf dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/11/2011, 13h27
  3. Réponses: 2
    Dernier message: 03/01/2011, 10h46
  4. [AC-2007] Mettre à jour la modification Menu contextuel
    Par SueSunny dans le forum IHM
    Réponses: 1
    Dernier message: 21/04/2009, 19h28
  5. TreeView et menu contextuel...
    Par agh dans le forum Composants VCL
    Réponses: 6
    Dernier message: 06/04/2009, 12h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo