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 :

Erreur 1004 sur creation d'un commandbutton [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Enseignant
    Inscrit en
    Novembre 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2011
    Messages : 52
    Par défaut Erreur 1004 sur creation d'un commandbutton
    Voilà le code

    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
    31
    32
    33
    34
    35
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim WS As Worksheet
    Dim BtnRtr As OLEObject
    Dim mCode As String
    MsgBox "Vous avez double cliqué sur la cellule " & Target.Address
    If Target.Address = "$A$1" Then
    Workbooks.Open "C:\Documents and Settings\user\Bureau\allobob-.xlsx"
    Workbooks("allobob-.xlsx").Sheets(1).Copy after:=Workbooks("Copie de Adupliquer.xlsm").Sheets(3)
    Workbooks("Copie de Adupliquer.xlsm").Sheets(4).Name = "Allobob"
    Windows("allobob-.xlsx").Close
     
    Set WS = ThisWorkbook.Worksheets("Allobob")
    With WS
        Set BtnRtr = .OLEObjects.Add("Forms.CommandButton.9")
        With BtnRtr
            .Name = "BtnRtr9"
            .Left = 500
            .Top = 40
            .Width = 50
            .Height = 20
            .Object.Caption = "Effacer"
        End With
     
        mCode = "Sub BtnRtr9_Click()" & vbCrLf
        mCode = mCode & "Cells(3,1).Clear" & vbCrLf
        mCode = mCode & "End Sub"
     
       With ThisWorkbook.VBProject.VBComponents(.CodeName).CodeModule
            .InsertLines .CountOfLines + 1, mCode
        End With
    End With
     
    End If
    Cancel = True
    End Sub

    Sur la feuil1 par doubleclick de la cellule A1 j'ajoute un onglet qui correspond au fichier à récupérer, il se place en 4éme position.

    Ensuite le code doit ajouter un commandbutton sur cette feuille nouvellement crée.
    C'est là , sur la ligne Set BtnRtr = .OLEObjects.Add("Forms.CommandButton.9")

    qu'il m'affiche une erreur 1004. Impossible d'insérer un objet

    Je suis bloqué depuis ce matin, qq'un voit-il ou est le problème ?

    j'ai bien mis la reference visual basic for applications

  2. #2
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Sous 2003, je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set BtnRtr = .OLEObjects.Add("Forms.CommandButton.1")
    Le 9 ne marche effectivement pas, mais je ne sais pas s'il est censé marcher pour une autre version.

  3. #3
    Membre averti
    Femme Profil pro
    Enseignant
    Inscrit en
    Novembre 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2011
    Messages : 52
    Par défaut
    J'avais mis 9 comme j'aurai pu mettre un autre chiffre autre que 1, un commandbutton1 était déjà présent.Je ne sais pas si le chiffre à une importance.

    J'ai donc mis 1 et j'ai supprimé le commandbutton1 dont je peux me passer et maintenant le code fonctionne.
    En tout cas merci de la remarque car ça m'a permis de regarder dans la bonne direction si je puis dire.

  4. #4
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Je ne voulais pas trop m'avancer, mais effectivement, tu ne peux mettre que 1. Et c'est le type de contrôle que tu ajoutes, pas le nom que tu donnes au bouton.
    Bon courage pour la suite

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

Discussions similaires

  1. Erreur 1004 sur PageSetup.PrintArea multi zone
    Par nawake dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/09/2008, 12h25
  2. Réponses: 8
    Dernier message: 25/01/2008, 11h48
  3. erreur 1004 sur un range
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/11/2007, 16h35
  4. Erreur 1004 sur "fichier - quitter"
    Par sabotage dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 22/08/2007, 18h01
  5. Erreur 1004 sur une boucle simple
    Par ruzakruzak dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 06/07/2007, 09h00

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