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 :

Run time error 424 object requis


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Run time error 424 object requis
    Bonjour,

    Je vous fait part de mon problème qui est assez fréquent car j'ai trouvé plusieurs forums et postes la dessus sans pour autant trouver la réponse à mon problème.
    Je souhaite créer une sorte de formulaire avec des questions et avec celà j'ai ajouter une checkbox pour valider le choix de la réponse et ainsi afficher la réponse correcte, sauf qu'en executant mon programme je reçois un message d'erreur "Run-time error 424 object required"
    voici mon 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
    Sub affichageQuestion()
     
    Dim xlw As Workbook
     
    Set xlw = Workbooks("quiz.xlsm")
     
    xlw.Worksheets("Sheet1").Shapes(2).Visible = msoFalse
     
    xlw.Worksheets("Sheet1").Range("B3") = xlw.Worksheets("Sheet2").Range("A2").Value
    xlw.Worksheets("Sheet1").Range("B8") = xlw.Worksheets("Sheet2").Range("B2").Value
    xlw.Worksheets("Sheet1").Range("B10") = xlw.Worksheets("Sheet2").Range("B3").Value
    xlw.Worksheets("Sheet1").Range("B12") = xlw.Worksheets("Sheet2").Range("B4").Value
    xlw.Worksheets("Sheet1").Range("B14") = xlw.Worksheets("Sheet2").Range("B5").Value
     
     
     
    If CheckBox.Value = -1 Then
     
        xlw.Worksheets("Sheet1").Shapes(2).Visible = msoTrue
     
    End If
     
     
     
    End Sub
    Si vous pouvez m'aider le plutôt possible merci car mon manager de stage souhaite avoir ce formulaire bientôt et comme j'avance pas il est pas vraiment content.

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    que représent msotrue et msifalse?

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Bonsoir,

    tu as oublié de nous dire sur quelle ligne était l'erreur ..

    vérifie aussi le nombre d'objet shapes dans ta feuille en rajoutant ligne 6
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    debug.print xlw.Worksheets("Sheet1").Shapes.count 'Résulatat dans fenêtre exécution (CTRL+G)

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Points : 10 166
    Points
    10 166
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Bonsoir,
    que représent msotrue et msifalse?
    Ce sont deux constantes qui représentent chacune un nombre.

  5. #5
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Points : 10 166
    Points
    10 166
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Je plussois bbil en disant que ce serait utile de savoir quelle est la ligne qui est en erreur.

    Ceci dit, je sais que par expérience que VBA a tendance a être frileux avec des enchaînements d'objets. Tu pourrais essayer de remplacer cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    xlw.Worksheets("Sheet1").Shapes(2).Visible = msoFalse
    Par quelque chose qui finirait par ressembler à ceci (pas testé, mais c'est au moins l'idée générale):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim UneBelleForme as Shape
    set UneBelleForme = xlw.Worksheets("Sheet1").Shapes(2)
    UneBelleForme.visible =msofalse

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour, oui en effet j'ai oublié de préciser sur quelle ligne l'erreur est générée, et en lançant le programme ligne par ligne ( Step in) l'erreur est au niveau de cette ligne là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If CheckBox.Value = -1 Then
    Apparement il reconnait pas le CheckBox que j'ai ajouté, mais j'ai pus contourner le problème : au début j'utilisais un CheckBox de la catégorie Form control, et je l'ai remplacé par un CheckBox de la catégorie Activex Control et magiquement ca marche, toute fois je sais pas pourquoi par Form control ca marchait pas.

  7. #7
    Invité
    Invité(e)
    Par défaut
    bonjour,
    utilise l’enregistreur de macro lui il répondra à ton problème!

  8. #8
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    Ton Checkbox s'appelle "Checkbox" ??

    le problème ne vient pas du nom, genre c'est "Checkbox1" par exemple ?

  9. #9
    Membre éprouvé Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Points : 973
    Points
    973
    Par défaut
    Bonjour
    avec ceci placer juste au dessus de la ligne defaillante
    Checkbox.value ne renvoie-t-il pas vrai ou faux, donc -1 serait inconnu

    et donc me semble plus judicieux

  10. #10
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Points : 377
    Points
    377
    Par défaut
    Bonsoir à tous,

    Je suis de l'avis de joe.levrai, il faut vérifier le "(Name)" de ce CheckBox dans les propriétés de ce contrôle ActiveX. C'est certainement CheckBox1.
    A condition que ce n'est pas un contrôle de formulaire qui a été inséré.

Discussions similaires

  1. [XL-2007] run-time error 91 object variable or with
    Par Ndoumbe04 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/05/2013, 16h22
  2. Run time error 91 in vb:object variable or with block variable not set
    Par azzouz90 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 09/09/2011, 01h40
  3. Réponses: 1
    Dernier message: 20/02/2010, 08h03
  4. Run-TIME ERROR '424'
    Par HRS dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 22/08/2008, 22h51
  5. Réponses: 7
    Dernier message: 04/04/2006, 14h35

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