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

Signaler
Messages postés
10
Date d'inscription
dimanche 21 novembre 2010
Statut
Membre
Dernière intervention
6 juin 2011
-
Messages postés
75
Date d'inscription
mercredi 17 août 2011
Statut
Membre
Dernière intervention
27 septembre 2011
-
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.

7 réponses

Messages postés
75
Date d'inscription
mercredi 17 août 2011
Statut
Membre
Dernière intervention
27 septembre 2011
2
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
Messages postés
75
Date d'inscription
mercredi 17 août 2011
Statut
Membre
Dernière intervention
27 septembre 2011
2
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
Messages postés
10
Date d'inscription
dimanche 21 novembre 2010
Statut
Membre
Dernière intervention
6 juin 2011
1
Merci. Cela marche à merveille... une petite explication en prime histoire que je n'applique pas bêtement ton code ?
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
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
Messages postés
10
Date d'inscription
dimanche 21 novembre 2010
Statut
Membre
Dernière intervention
6 juin 2011
1
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).
Messages postés
75
Date d'inscription
mercredi 17 août 2011
Statut
Membre
Dernière intervention
27 septembre 2011
2
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
Messages postés
10
Date d'inscription
dimanche 21 novembre 2010
Statut
Membre
Dernière intervention
6 juin 2011
1
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.