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 :

la methode 'OnAction' de l'objet '_CommandBarButton' a echoué


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Points : 9
    Points
    9
    Par défaut la methode 'OnAction' de l'objet '_CommandBarButton' a echoué
    Bonjour à tous,

    j'ai un problème assez étrange car il n'apparait qu'aujourd'hui ayant fonctionné avant sans problème.

    j'ai crée des menus personnalisés qui sont dans une macro complémentaire et dans les feuilles excel je fais juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run("ma macro")
    Chaque feuille ayant son menu personnalisé, lorsque je change de feuille j'efface le menu de la feuille précédente et je lance la macro qui crée le menu de la feuille active.
    Cependant depuis hier l'execution de la macro qui crée le menu personnalisé ne marche plus et je reçois le message d'erreur suivant:
    Erreur d'execution '_2147467259(80004005)' La méthode 'OnAction' de l'objet '_CommandBarButton' a echoué

    J'ai redemarrer mon ordinateur ça n'a rien changé. Ma collègue qui utilise la même macro complémentaire et le même fichier Excel sur son ordinateur n'a pas ce problème. On utilise toutes deux Microsoft Excel 2003.

    Quelqu'un pourrait-il m'aider?

    Voici un exemple d'une macro qui permet de créer un menu personnalisé
    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
     
    Sub creer_menu_Sigecri()
     
    For Z = INIT_UN To CommandBars(1).Controls.Count
     If CommandBars(1).Controls(Z).Caption = "Actions SIGNAUX" Then Exit Sub
    Next
     
    With CommandBars(1).Controls.Add(msoControlPopup, before:=10)
    .Caption = "Actions SIGNAUX"
        '1 bouton
        With .Controls.Add(msoControlPopup)
            .Caption = "Création"
            With .Controls.Add(msoControlPopup)
                .Caption = "Création Signaux"
                With .Controls.Add(msoControlButton)
                    .Caption = "Version 1"
                    .OnAction = "creer_table_sigecri_v1"
                End With
                With .Controls.Add(msoControlButton)
                    .Caption = "Version 2"
                    .OnAction = "creer_table_sigecri_v2"
                End With
            End With
        End With
     
    End With
     
     
     
    End Sub
    Merci d'avance pour votre aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Points : 723
    Points
    723
    Par défaut
    Bonjour !

    Ben dis donc, ça sent le problème de DLL à plein nez ton truc

    Prenons les choses dans l'ordre. Vas jeter un oeil dans VBA/Outils/Références et vérifie si toutes les DLLs utilisées sont bien cochées (peut-être en as-tu décochées à un moment ou un autre). Je te propose de comparer avec celles qui sont utilisées par ta collègue.

    Si ça ne marche toujours pas après cela, il va falloir se débrouiller autrement. Pour chacune des DLLs utilisées, note le chemin vers le fichier et vérifié s'il est bien présent. Peut-être a-t-il été effacé parce qu'il était dans un répertoire temporaire ou autre. Ce qui est bizarre c'est qu'il s'agit d'une DLL standard. En général, elles sont dans le répertoire system32.

    Après, si ça ne marche toujours pas, cela dépend de quels accès tu as sur ton PC. Tu me dis déjà ça et on verra les steps suivants.

    Tiens-moi au courant

    PS : Sait-on jamais, as-tu essayé de créer un nouveau fichier Excel où tu y copies-colles ta macro ? Tu peux tester.

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    J'ai regardé la configuration de ma collègue on a les mêmes configurations mais cela ne change pas que chez moi ça ne marche toujours pas et chez elle ça marche correctement.

    j'ai ouvert le fichier excel avec la version précédente de ma macro je n'ai plus eu le problème j'ai donc deduis que le problème vient de la macro. J'ai ainsi exporter tous les fichiers ".bas" et les userforms, j'ai crée une macro complémentaires vierge ou j'ai importé tous les fichiers exportés de la macro complémentaires qui posait problème (sans faire aucunes modifications) et la ça marche à nouveau.

    Assez etrange je dis.

    Merci pour ton aide DeaD78

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

Discussions similaires

  1. Erreur la methode thisworkbook de l'objet application a echouée
    Par tamtam64 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/04/2015, 00h02
  2. erreur d'execution 1004 methode range de l'objet global a echoue
    Par ranomanitra dans le forum VBA Access
    Réponses: 7
    Dernier message: 11/01/2013, 17h27
  3. La methode 'Range' de l'objet '_WoorkSheet' a echoué
    Par Kalvin_20 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/05/2008, 13h36
  4. Erreur 1004, methode Paste de l'objet Range.
    Par asxasx dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 20/08/2007, 11h05
  5. Methode non trouvé sur objet Graphics2D
    Par staive dans le forum 2D
    Réponses: 14
    Dernier message: 26/10/2005, 10h01

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