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 :

Pb de création de code dans un module ou une feuille - erreur 1004 [XL-MAC 2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut Pb de création de code dans un module ou une feuille - erreur 1004
    Bonjour,

    j'ai tenté sur excel Mac (Office 365 - V° 16.22) de créér du code dans la feuille 1 dont le CodeName est "Feuil1"
    je me suis retrouvé avec une erreur 1004.

    Je suis allé dans la Faq : https://silkyroad.developpez.com/VBA/VisualBasicEditor/
    dont j'ai repris ce code pour test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub creationMacro()
    Dim X As Integer
     
    With ActiveWorkbook.VBProject.VBComponents("Feuil1").CodeModule
        X = .CountOfLines
        .InsertLines X + 1, "Private Sub Worksheet_SelectionChange(ByVal Target As Range)"
     
        'Chr(38) permet d'insérer le symbole & dans la procédure.
        .InsertLines X + 2, _
            "MsgBox ""La cellule sélectionnée: """ & Chr(38) & " Target.Address,,""Message"" "
        .InsertLines X + 3, "End Sub"
    End With
    End Sub
    j'ai toujours l'erreur 1004 : "La méthode "VBProject" de l'objet " -_Workbook " a échoué (ligne 5)
    je tiens à signaler que j'ai bien activé la référence : Microsoft Visual Basic for Applications Extensibility 5.3

    Avez vous des pistes ou une solution à ce problème svp

    Merci d’avance pour l'aide

    Edit : voir un contournement, pourquoi pas …
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    On va commencer par éliminer les causes les plus triviales, juste au cas où...
    Es-tu sûr que l'ActiveWorkbook est celui que tu crois au moment où l'exécution passe sur cette ligne ?
    A tout hasard, essaye de mettre un Debug.Print ActiveWorkbook.Name juste avant ton With pour le vérifier.

  3. #3
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonjour Menhir,

    après test avec "Debug.Print ActiveWorkbook.Name", j'ai bien le bon classeur
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Essaye de copier ton fichier en lui donnant un autre nom, de l'ouvrir et de lui appliquer ce code lancé depuis ton fichier original (sans que la copie soit le classeur actif).
    Histoire de voir si le problème ne viendrait pas du fait d'aller chatouiller les macros du classeur contenant la macro active ou d'un classeur contenant des macro évènementielles qui peuvent s'activer.

  5. #5
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    toujours la même erreur 1004, seul l'original est ouvert au 1er plan avec son module pour lancer le code (la copie n'étant pas le classeur actif),
    et j'ai vérifié je n'ai aucune macro évènementielle, aussi bien dans mon fichier que dans les macros du classeur perso

    Edit : mauvaise formulation de phrase => rectifié
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ancien Etudiant
    Inscrit en
    Janvier 2019
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Ancien Etudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 152
    Par défaut
    Bonjour à tous,

    J'ai testé le code de RyuAutodidacte sur XL2003 (!), et j'ai :
    Erreur 1004
    L’accès par programme au projet Visual Basic n’est pas fiable


    Pour que le code fonctionne (avec XL2003), il faut aller dans Outils , Macro , Sécurité... , et dans l'onglet Editeurs approuvés cocher : Faire confiance au projet Visual Basique

    Si l'erreur est la même, la cause est peut-être la même. Reste à trouver l'équivalent des paramètres XL2003 sur XLMac

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

Discussions similaires

  1. [XL-2003] copier en automatique le code d'un module d'une feuille EXCEL vers une autre feuille
    Par MichaSarah dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/05/2009, 00h13
  2. Puis-je mettre ce code dans un module ?
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 09/03/2009, 15h18
  3. Ecrire par macro du code dans un module
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 24/09/2007, 01h50
  4. [VBA-E] Insérer du code dans un module
    Par cafeine dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/05/2007, 10h34
  5. Comparaison de code dans plusieurs modules
    Par jbaudin dans le forum Access
    Réponses: 2
    Dernier message: 03/10/2005, 11h47

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