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 d'exécution '424', objet requis


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    389
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 389
    Points : 437
    Points
    437
    Par défaut Erreur d'exécution '424', objet requis
    Bonjour à tous,

    Petit soucis mais gros casse tête pour moi

    A l'ouverture de mon classeur j'utilise le code suivant pour créer un bouton sur une feuille de calcul avec son code associé. Ça fonctionne comme souhaité

    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
    Private Sub Workbook_Open()
     
    Dim leBouton As OLEObject
    Dim code As String
    Dim ligneSuivante
     
    Set leBouton = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1")
        With leBouton
            .Name = "BoutonCommande"
            .Left = 460
            .Top = 112.5
            .Width = 100
            .Height = 25
            .Object.Caption = "Année : " & Year(Date) + 1
        End With
     
    code = "Private Sub BoutonCommande_Click" & vbCrLf
    code = code & "sc" & vbCrLf
    code = code & "End Sub" & vbCrLf
     
        With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
            ligneSuivante = .CountOfLines + 1
            .insertlines ligneSuivante, code
        End With
     
    End Sub
    A la fermeture du classeur j'utilise le code suivant pour détruire ce bouton ainsi que son code. Ça fonctionne mais à chaque fois j'ai une boîte de dialogue me disant
    "Erreur d'exécution '424' Objet requis"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
     
        With ActiveWorkbook.VBProject.VBComponents(Sheets("2013").CodeName).CodeModule
          .DeleteLines 1, .CountOfLines
        End With
     
    [BoutonCommande].Delete
     ActiveWorkbook.Close SaveChanges:=True
     
    End Sub
    Je ne comprends pas car le bouton et le code sont bien supprimés, tout fonctionne comme je le souhaite hormis cette boîte de dialogue.

    Si vous pouviez m'indiquer une voie de recherche

    Merci

    JP

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Essaies comme ceci
    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
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim leBouton As OLEObject
     
    With ActiveWorkbook.VBProject.VBComponents(Sheets("2013").CodeName).CodeModule
        .DeleteLines 1, .CountOfLines
    End With
     
    For Each leBouton In Sheets("2013").OLEObjects
        If leBouton.Name = "BoutonCommande" Then
            leBouton.Delete
            Exit For
        End If
    Next leBouton
     
    ActiveWorkbook.Close SaveChanges:=True
     
    End Sub

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    389
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 389
    Points : 437
    Points
    437
    Par défaut
    Un grand merci, ça fonctionne.

    Je pensais pouvoir accéder directement au contrôle sans devoir faire une boucle

    JP

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

Discussions similaires

  1. Erreur d'excution '424' objet requis
    Par mjlaurent dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/04/2013, 16h43
  2. Erreur d'exécution '424':objet requis
    Par argaz01 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/06/2010, 15h02
  3. [OL-2003] Erreur d'exécution '424' : Objet requis
    Par ptitemeuh dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 25/05/2010, 11h32
  4. [VBA-E] erreur d'execution 424 - objet requis
    Par ludo02 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/02/2007, 10h29
  5. Erreur d'execution '424' : Objet requis
    Par deglingo37 dans le forum Access
    Réponses: 3
    Dernier message: 09/10/2006, 16h47

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