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
    Candidat au Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Septembre 2019
    Messages : 3
    Par défaut Erreur d'exécution '424' Objet requis
    Bonjour,

    J'ai créé un formulaire de saisie sous Excel 2019. Le formulaire créé permet d'ajouter une nouvelle personne : cela fonctionne ; de quitter le formulaire : cela fonctionne.
    De modifier un contact : cela ne fonctionne pas. Lorsque je sélectionne une personne par son code client, il apparaît à l'écran, je modifie par exemple le prénom, mais quand je valide la modification avec le bouton modifier contact, ce message apparaît :
    Erreur d'exécution '424' objet requis
    Le code s'arrête sur Ws.Cells(Ligne, "B") = ComboBox2.
    Auriez-vous une idée ? Voici le fichier :

    Activité 18.xlsm

    Merci pour votre aide.

    Bruno

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    C'est normal, tu utilises une variable objet non initialisée !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Ws.Cells(Ligne, "B") = ComboBox2
    Le compilateur ne connait pas "Ws" !
    C'est souvent ce qui arrive quand on ne demande pas la déclaration explicite des variables donc je te conseille de cocher la case "Déclaration des variables obligatoire" dans "Outils" --> "Options..." --> Onglet "Editeur", à la prochaine ouverture d'Excel, tu auras "Option Explicit" inscrit en tête de tous les modules dans les nouveaux classeurs. Pour celui en cours, tu peux l'inscrire manuellement !
    Déclares ta variable en tête de module, elle est initialisée dans la procédure événementielle "Initialize" du formulaire

  3. #3
    Candidat au Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Septembre 2019
    Messages : 3
    Par défaut
    Bonjour These, peux-tu me dire comment déclarer ma variable en tête de module pour qu'elle soit initialisée dans la procédure événementielle "Initialize" du formulaire ?
    Merci,

    Cordialement,

    Bruno

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Puisque la première procédure du module est "Initialize", tu déclare juste au dessus :
    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
     
     
    Dim Ws As Worksheet '<--- déclaration en tête de module
     
    'Pour le formulaire
    Private Sub UserForm_Initialize()
     
        Dim J As Long
        Dim I As Integer
     
        ComboBox2.ColumnCount = 1 'Pour la liste déroulante Civilité
        ComboBox2.List() = Array("Monsieur", "Madame")
     
        Set Ws = Sheets("Contacts") 'Correspond au nom de votre onglet dans le fichier Excel <--- initialisée ici pour la durée de vie du formulaire !
     
        For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
            ComboBox1.AddItem Ws.Range("A" & J)
        Next J
     
        For I = 1 To 7
            Me.Controls("TextBox" & I).Visible = True
        Next I
     
    End Sub

  5. #5
    Candidat au Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Septembre 2019
    Messages : 3
    Par défaut
    UN GRAND MERCI MONSIEUR Theze c'est résolu...

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Content de t'avoir aidé

Discussions similaires

  1. erreur d'execution 424 objet requis
    Par Mandrill dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/07/2009, 13h03
  2. [XL-2003] erreur d'execution 424 objet requis
    Par olivier1289 dans le forum Excel
    Réponses: 2
    Dernier message: 23/05/2009, 01h22
  3. [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
  4. [VBA-E] Mscomm:erreur d'éxécution 424 : objet non requis
    Par greg64 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 13/11/2006, 10h02
  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