Erreur d’exécution 424 : objet requis [Résolu]

luciol8 10 Messages postés dimanche 21 novembre 2010Date d'inscription 6 juin 2011 Dernière intervention - 23 nov. 2010 à 20:51 - Dernière réponse : marion8316 75 Messages postés mercredi 17 août 2011Date d'inscription 27 septembre 2011 Dernière intervention
- 27 nov. 2010 à 10:52
Bonjour à tous,

Un nouveau problème à vous soumettre... Je souhaite donc exécuter une macro à l'ouverture de mon classeur permettant d'effacer le contenu d'une (ou plusieurs) txtbox...

Voici le code : (présent dans un module)

Sub auto_open()
TxtB_CodeArticle.Value = ""
' Remise à vide de la valeur contenue dans la textbox "Code Article"
End Sub

L'erreur est la suivante : Erreur d’exécution '42'4 : objet requis

Je ne sais pas quoi trop penser et mes recherches sur internet non pas été fructueuse.
Merci d'avance pour votre aide.
Afficher la suite 

7 réponses

Répondre au sujet
marion8316 75 Messages postés mercredi 17 août 2011Date d'inscription 27 septembre 2011 Dernière intervention - 27 nov. 2010 à 10:52
+3
Utile
Bonjour,

Le modèle hiéarchique d'excel est composé d'objets, des objets peuvent contenir eux mêmes des objets, ces objets sont appelés conteneurs.

Par exemple l'objet "Application" est le conteneur des objets "Workbook" (classeurs ouverts dans excel). Le conteneur le plus vaste est l'objet "Application".

J'espère avoir été explicite.

Pense à cloturer le sujet, merci.

A bientôt

Didier Marion
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de marion8316
marion8316 75 Messages postés mercredi 17 août 2011Date d'inscription 27 septembre 2011 Dernière intervention - 25 nov. 2010 à 18:28
+1
Utile
Bonsoir,

Il faut ajouter "Application" devant Worksheets.

Application.Worksheets("Feuil1").TextBox1.Value = "Toto"

L'exemple ci-dessus initialise la zone avec la valeur "Toto"

Didier Marion
Commenter la réponse de marion8316
luciol8 10 Messages postés dimanche 21 novembre 2010Date d'inscription 6 juin 2011 Dernière intervention - 26 nov. 2010 à 00:47
+1
Utile
Merci. Cela marche à merveille... une petite explication en prime histoire que je n'applique pas bêtement ton code ?
Commenter la réponse de luciol8
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 23 nov. 2010 à 23:18
0
Utile
Bonsoir

Fais un petit test simple
à la place de TxtB_CodeArticle.Value = ""
écris
me. verifies si dans le listbox qui s'ouvre
tu vois TxtB_CodeArticle
logiquement selon le runtime error ton TxtB_CodeArticle n'existe pas
c'est ce que dit l'erreur objet requis
quel objet? TxtB_CodeArticle n'existe pas
ou sois tu la nommé autrement
Commenter la réponse de cs_ShayW
luciol8 10 Messages postés dimanche 21 novembre 2010Date d'inscription 6 juin 2011 Dernière intervention - 24 nov. 2010 à 15:47
0
Utile
Bonjour,

merci pour cette réponse. cependant je n'ai pas compris l'histoire du me. :D
Serait-il possible de m'expliquer plus en détail ?

L'objet existe bien car les autres codes marchent (ceux-ci s'éxécutent via un bouton).
Commenter la réponse de luciol8
marion8316 75 Messages postés mercredi 17 août 2011Date d'inscription 27 septembre 2011 Dernière intervention - 24 nov. 2010 à 18:55
0
Utile
Bonsoir,

Comme indiqué dans votre message, le code est dans un module.

La zone 'TxtB_CodeArticle' n'est pas connue dans le module, il faut le nom de la UserForm devant le nom de l'objet.

UserForm.TxtB_CodeArticle.Value = ""

L'utilisation du raccourci 'Me' est seulement utilisable dans le code d'une UserForm.

Exemple :
Nom de la Userform : FrmAffichage
Bouton dans la Userfrom : Textbox1

Pour s'adresser au propriété du bouton 2 possibilités :
FrmAffichage .Textbox1.caption = "Toto"
ou Me.Textbox1.caption = "Toto"

Didier Marion
Commenter la réponse de marion8316
luciol8 10 Messages postés dimanche 21 novembre 2010Date d'inscription 6 juin 2011 Dernière intervention - 24 nov. 2010 à 20:43
0
Utile
Merci... mais cela ne résout pas mon problème... Ma textbox n'est pas dans une userform mais bien sur une feuille excel... ;) [A priori celà ne marche pas lorsque je met worksheets("Feuil1").TxtB_CodeArticle.Value = "" ]

Merci encore de votre aide.
Commenter la réponse de luciol8

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.