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

Microsoft Office Discussion :

[EXCEL 2007 Sous WIN10] Erreur d'exécution 424 : Objet requis [2007]


Sujet :

Microsoft Office

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2021
    Messages : 15
    Points : 4
    Points
    4
    Par défaut [EXCEL 2007 Sous WIN10] Erreur d'exécution 424 : Objet requis
    Bonjour,

    Je reprends une activité en VBA sous Excel 2007 après 15 ans. Je dois donc me refamiliariser avec.

    J'ai créé un bouton qui pointe sur une UserForm. Mais à l'exécution du bouton FORMATION, au moment d'afficher la UserForm, j'ai l'erreur 424 : Objet requis. Je ne vois pas où est mon erreur.

    Le code est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton1_Click()
        ChDir "C:\Users\lucar\Desktop\ADRIEN"
        Workbooks.Open Filename:="DevisFormations.xlsm"
     
        FORMATION.Show
     
        ActiveWorkbook.Save
        ActiveWorkbook.Close
    End Sub
    Chronologiquement, Dans ma UserForm, j'avais créé un panneau multipages dans lequel j'avais inserré des formulaires. Puis je me suis aperçu que je devais dissocier les pages. J'ai donc déplacé le contenu de la page 1 directement sur le UserForm et j'ai copié coller le contenu de la page 2 dans un autre UserForm auquel j'ai associé un autre bouton. Puis j'ai supprimé le panneau multipages. Le bouton qui pointe sur le deuxième UserForm ne pose pas de problème, ça fonctionne. Par contre, le bouton qui pointe sur le premier UserForm me donne l'erreur ci-dessus, et bien sûr avant ça marchait bien.

    Le problème vient-il d'avoir déplacé le contenu de la page 1 directement sur le UserForm qui la contenait ?

    Si vous avez une idée, je suis preneur.
    Merci d'avance.
    lucarno33

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lucarno33 Voir le message
    Bonjour,

    1ère solution :
    Le lancement de votre userform doit être réalisé avec l'événement Workbooks.Open dans le fichier DevisFormations.xlsm.

    Pour cela, dans le module ThisWorkbook de DevisFormations, collez cette procédure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Option Explicit
     
    Private Sub Workbook_Open()
     
         FORMATION.Show
     
    End Sub
    Dans votre fichier de lancement, l'événement clic devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Option Explicit
     
    Private Sub CommandButton1_Click()
     
        ChDir "C:\Users\lucar\Desktop\ADRIEN"
        Workbooks.Open Filename:="DevisFormations.xlsm"
     
        ActiveWorkbook.Save
        ActiveWorkbook.Close
     
    End Sub

    2ème solution :

    Avec l'événement Workbooks.Open, le userform FORMATION sera systématiquement lancé à l'ouverture. Cela peut être pénible à la longue...
    Pour éviter cela, on crée cette procédure qui sera stockée dans un module standard du fichier DevisFormations :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Option Explicit
     
    Sub LancerLeUserform()
     
        FORMATION.Show
     
    End Sub
    On supprime l'événement Workbooks.Open dans ThisWorkbook.

    On revient dans le fichier de lancement et on modifie la procédure de lancement :

    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
     
    Private Sub CommandButton1_Click()
     
    Dim WbFormation As Workbook
     
     
        ChDir "C:\Users\lucar\Desktop\ADRIEN"
        Set WbFormation = Workbooks.Open(Filename:="DevisFormations.xlsm")
        With WbFormation
             Application.Run "'" & WbFormation.Name & "'!LancerLeUserform"
             .Save
             .Close
        End With
        Set WbFormation = Nothing
     
    End Sub
    Dernière modification par Invité ; 20/04/2021 à 07h12.

  3. #3
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2021
    Messages : 15
    Points : 4
    Points
    4
    Par défaut [2007][EXCEL 2007 sous WIN10] Erreur 424 : Objet requis
    Bonjour Eric et merci pour votre retour.

    J'ai d'abord essayé la première solution. Elle ouvre et ferme le fichier DevisFormations.xlsm, mais n'ouvre pas la UserForm FORMATION.

    J'ai alors essayé la deuxième solution en copiant le code de l'appel à la UserForm FORMATION dans Module4 du fichier DevisFormations.xlsm et modifié le code du bouton comme vous l'avez indiqué.
    J'ai obtenu l'erreur suivante : Variable non définie sur la ligne FORMATION.show.

    Je me demande si je ne dois pas créer une autre UserForm sur laquelle je ferais un coupé-collé du contenu de la précédente, puis supprimer celle-ci pour renommer la nouvelle UserForm en FORMATION. Dans ce cas, est-ce que je perdrais tous les codes associés aux contenus de la UserForm ?

    En vous remerciant.
    lucarno33

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lucarno33 Voir le message
    Je vous mets les fichiers qui m'ont servi à vous répondre. Modifiez le chemin pour qu'il correspondre à votre répertoire.

  5. #5
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2021
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Je viens d'essayer de faire ce coupé-collé sur une sauvegarde, mais en effet, on perd tout le code. Donc il faut vraiment que j'y arrive sans cela.

  6. #6
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2021
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Je viens de refaire le copié-collé du contenu du UserForm et en faisant un copié-collé du code, donc la j'ai conservé le code. Ça ne marche toujours pas.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lucarno33 Voir le message
    Vous avez essayé avec mes fichiers ?

  8. #8
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2021
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Oui, excusez moi, j'ai oublié de vous le dire. Avec vos seuls fichiers, ça marche ! Le mystère reste chez moi.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lucarno33 Voir le message
    Vous avez vu que la macro dans DevisFormation.xlsm était dans un module standard.

  10. #10
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2021
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Je viens de m'apercevoir que le programme UserForm_Initialize() devait s'appeler FORMATION_Initialize(). Depuis ça remarche. Est-ce que vous validez vous aussi de votre côté ?

  11. #11
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2021
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Par contre, ce qui est surprenant, c'est que mes ComboBox sont vides alors que je les avais initialisés. A l'origine, ils contenaient bien les infos que je leur avais donné. Et là, plus rien.

    Le code est le suivant :

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    Dim NumClient, TitreClient, NomClient, PrénomClient, NomEntreprise As Variant
    Dim NumVoie, MentionVoie, Voie, NomVoie, CP, Ville As Variant
    Dim NumTélF, NumTélP, Courriel As Variant
    Dim Jour, Mois, Année, NumDevis, NumFacture As Variant
    Dim Libellé, Unité, Quantité, PUHT, Remise, TotalHT As Variant
     
    Private Sub ComboBox1_Change()
        MentionVoie = ComboBox1.Value
    End Sub
     
    Private Sub ComboBox2_Change()
        MentionVoie = ComboBox2.Value
    End Sub
     
    Private Sub ComboBox3_Change()
        Libellé = ComboBox3.Value
    End Sub
     
    Private Sub ComboBox4_Change()
        Unité = ComboBox4.Value
    End Sub
     
    Private Sub ComboBox5_Change()
        Quantité = ComboBox5.Value
    End Sub
     
    Private Sub ComboBox6_Change()
        TitreClient = ComboBox6.Value
    End Sub
     
    Private Sub FORMATION_Initialize()
        ComboBox1.AddItem "Chemin"
        ComboBox1.AddItem "Route"
        ComboBox1.AddItem "Impasse"
        ComboBox1.AddItem "Rue"
        ComboBox1.AddItem "Avenue"
        ComboBox1.AddItem "Boulevard"
        ComboBox1.AddItem "Cour"
     
        ComboBox2.AddItem "Chemin"
        ComboBox2.AddItem "Route"
        ComboBox2.AddItem "Impasse"
        ComboBox2.AddItem "Rue"
        ComboBox2.AddItem "Avenue"
        ComboBox2.AddItem "Boulevard"
        ComboBox2.AddItem "Cour"
     
        ComboBox3.AddItem "Préparation de formation : Création de sujets de formation,réalisation des supports pédagogiques et correction individuelle de l'examen final."
        ComboBox3.AddItem "Mission de formation : Utilisation du logiciel Visual ARC (formation DEUST 1) date : 22-23 mars 2021 inclus - durée : 7h/jour - lieu : Maison des Compagnons (Angers)"
        ComboBox3.AddItem "Frais de déplacement : Petit-déjeuner"
        ComboBox3.AddItem "Frais de déplacement : Déjeuner"
        ComboBox3.AddItem "Frais de déplacement : Dîner"
        ComboBox3.AddItem "Frais de déplacement : Hébergement"
        ComboBox3.AddItem "Frais de déplacement : Carburant"
     
        ComboBox4.AddItem "Forfait journalier"
        ComboBox4.AddItem "Frais"
     
        ComboBox5.AddItem "1"
        ComboBox5.AddItem "2"
        ComboBox5.AddItem "3"
        ComboBox5.AddItem "4"
        ComboBox5.AddItem "5"
     
        ComboBox6.AddItem "Monsieur"
        ComboBox6.AddItem "Madame"
        ComboBox6.AddItem "Mademoiselle"
    End Sub

  12. #12
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lucarno33 Voir le message
    Il ne faut jamais coder en dur. Il vous faut créer un onglet de paramètres dans lequel vous aller créer autant de tableaux structurés que de combobox et charger vos tables à l'initialisation de votre userform. Mais on est plus dans le problème initial.

  13. #13
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2021
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Qu'est-ce qu'un onglet de paramètres ? Comment le créez-vous ?

  14. #14
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lucarno33 Voir le message
    Qu'est-ce qu'un onglet de paramètres ? Comment le créez-vous ?
    Pièce jointe 596129

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Private Sub UserForm_Initialize()
     
        Me.ComboBoxVoies.List = Range("TableDesVoies[Liste des voies]").Value
     
    End Sub

  15. #15
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2021
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Bonjour Eric,

    Voilà ce que j'ai fait :

    Nom : Capture d’écran 2021-04-21 094302.png
Affichages : 174
Taille : 3,7 Ko
    Nom : Capture d’écran 2021-04-21 094336.png
Affichages : 178
Taille : 4,5 Ko
    Nom : Capture d’écran 2021-04-21 094117.png
Affichages : 180
Taille : 19,1 Ko
    Nom : Capture d’écran 2021-04-21 094152.png
Affichages : 170
Taille : 1,3 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim TableVoies(7) As Variant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub ComboBox1_Change()
        MentionVoie = ComboBox1.Value
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub FORMATION_Initialize()
        Me.ComboBox1.List = Range("TableVoies[ListeVoies]").Value
    End Sub
    Malheureusement, comme vous pouvez le voir la liste MentionVoie reste vide sur l'interface.

  16. #16
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lucarno33 Voir le message
    TableVoies n'est pas une matrice mais un tableau structuré. Voir l'exemple dans le fichier joint.

  17. #17
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2021
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    J'ai supprimé la ligne de déclaration de TableVoies, mais le problème reste le même. J'avoue que je patauge complètement...

  18. #18
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lucarno33 Voir le message
    J'ai supprimé la ligne de déclaration de TableVoies, mais le problème reste le même. J'avoue que je patauge complètement...

    Dans mon précédent mail, je vous ai envoyé le fichier qui contient le vidage d'écran précédent. Si vous ouvrez ce fichier vous allez voir comment cela fonctionne.

  19. #19
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2021
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Vous parlez du fichier DevisFormations.EK.xlsm ?

  20. #20
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lucarno33 Voir le message
    Vous parlez du fichier DevisFormations.EK.xlsm ?
    Vous n'avez pas essayé ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/07/2016, 20h09
  2. Erreur d'excution '424' objet requis
    Par mjlaurent dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/04/2013, 16h43
  3. Erreur d'exécution '424', objet requis
    Par JPierreM dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/12/2012, 14h07
  4. 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
  5. [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

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