Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Erreur 424 objet requis

5 réponses
Avatar
Jean-Paul V
Bonjour à tous

Lorsque j’appelle un Userform avec Userform.Show, j’ai erreur sur
Userform.Show
Y aurait-il une astuce pour que cette erreur nous dise sur quel objet ou
quels objets portent cette erreur car malheureusement quand je fais Debogage
il pointe sur Useform.Show et comme j’ai plein de macros en cascade il est
difficile de trouver l’objet requis et le F8 pas à pas est inopérant.


A + j’espère

--
Jean-Paul V

5 réponses

Avatar
LSteph
Bonjour,
Lequel?

UserForm1.show
ou
UserForm2.show

parceque UserForm.show ne le dit pas!
Donc il cherche l'objet nommé user
form tout court qui n'existe pas
et donc te renvoie une 424

--
lSteph

Jean-Paul V a écrit :
Bonjour à tous

Lorsque j’appelle un Userform avec Userform.Show, j’ai erreur sur
Userform.Show
Y aurait-il une astuce pour que cette erreur nous dise sur quel objet ou
quels objets portent cette erreur car malheureusement quand je fais Debogage
il pointe sur Useform.Show et comme j’ai plein de macros en cascade il est
difficile de trouver l’objet requis et le F8 pas à pas est inopérant.


A + j’espère



Avatar
Jean-Paul V
Bonjour LStep

Formulaire.Show car j'ai nommé Userform1 Formulaire

NB malgré cela dans des précédentes versions la macro :
Private Sub UserForm_Initialize() ne présentait aucun Pb est ce que je dois
remplacer par :
Private Sub Formulaire_Initialize()
A+ Jean-Paul

--
Jean-Paul V


"LSteph" wrote:

Bonjour,
Lequel?

UserForm1.show
ou
UserForm2.show

parceque UserForm.show ne le dit pas!
Donc il cherche l'objet nommé user
form tout court qui n'existe pas
et donc te renvoie une 424

--
lSteph

Jean-Paul V a écrit :
> Bonjour à tous
>
> Lorsque j’appelle un Userform avec Userform.Show, j’ai erreur sur
> Userform.Show
> Y aurait-il une astuce pour que cette erreur nous dise sur quel objet ou
> quels objets portent cette erreur car malheureusement quand je fais Debogage
> il pointe sur Useform.Show et comme j’ai plein de macros en cascade il est
> difficile de trouver l’objet requis et le F8 pas à pas est inopérant.
>
>
> A + j’espère
>



Avatar
Jean-Paul V
Re bonjour
Votre question m'a aidé à régler mon problème.
J'ai dû modifier
UserForm1.Controls(Controle).AddItem Rst(0) par
Formulaire.Controls(Controle).AddItem Rst(0) cela aurait été utile que le
débog pointe la dessus au lieu de Formulaire.show

Je pense qu'une réponse à ma question pour d'autres cas me serait utile.

Bonne journée
--
Jean-Paul V


"LSteph" wrote:

Bonjour,
Lequel?

UserForm1.show
ou
UserForm2.show

parceque UserForm.show ne le dit pas!
Donc il cherche l'objet nommé user
form tout court qui n'existe pas
et donc te renvoie une 424

--
lSteph

Jean-Paul V a écrit :
> Bonjour à tous
>
> Lorsque j’appelle un Userform avec Userform.Show, j’ai erreur sur
> Userform.Show
> Y aurait-il une astuce pour que cette erreur nous dise sur quel objet ou
> quels objets portent cette erreur car malheureusement quand je fais Debogage
> il pointe sur Useform.Show et comme j’ai plein de macros en cascade il est
> difficile de trouver l’objet requis et le F8 pas à pas est inopérant.
>
>
> A + j’espère
>



Avatar
LSteph
Plusieurs choses donc:

1- pour préciser et répondre à cette autre question
----
" Private Sub UserForm_Initialize() " oui

c'est normal c'est le terme utilisé dans le private module du userform
quel que soit son nom!

En revanche Lorsqu'on appelle un objet d'une collection il faut soit
son nom en dur soit son nom ou index dans la collection

Donc liorsqu'un objet est inséré à un project ou classeur exemple
Feuille ou Userform il s'identifie par un CodeName et Name et peut
s'assortir
d'un Name ou Caption
pour une Feuille par un CodeName Feuil1 ou Feuil2 ou via le Name soit
dans la collection Worksheets("Feuil1")
soit dans l'index des feuilles Sheets(1)
pour un userform "Userform1" peut être renommé "Monformulaire" et
avoir pour Caption "Saisie"

Regarde dans la Fenêtre des propriétés ce qui correspond à
(Name) en premier correspond au CodeName soit en dur le nom objet pour
la Feuille et au Name pour le Userform
plus bas tu trouve
Name pour la Feuille et Caption pour le Userform

ainsi dans l'explorateur de projet tu verra écrit
Feuil1("Feuil1)
Feuil2("Zaza")
Feuil3("Feuil2")
Feuil4 ("Feuil4)

Userform1
Userform2

ici Feuil2 est le CodeName et Zaza le Name ou nom d'onglet
le CodeName dans l'ordre des feuilles dans le projet peut être
distinct des noms d'onglets attribués dans le classeur

pour un Userform on ne voit que le Name (qui correspondrait au
CodeName pour la Feuille) il n'a évidemment pas de nom d'onglet
mais on peut utiliser le Caption pour le libellé qu'on veut qui
apparaisse pour l 'utilisateur.
-----

2- Pour en revenir à ton pb initial:

On obtient ce 424 lorsqu'on invoque un objet par un nom qui n'est pas
trouvé dans la portée ou on l'appelle.

------

Cordialement

--
lSteph



On 1 juil, 10:25, Jean-Paul V
wrote:
Bonjour LStep

Formulaire.Show  car j'ai nommé Userform1  Formulaire

NB malgré cela dans des précédentes versions la macro :
Private Sub UserForm_Initialize() ne présentait aucun Pb est ce que je dois
remplacer par :
Private Sub Formulaire_Initialize()
A+  Jean-Paul

--
Jean-Paul V



"LSteph" wrote:
> Bonjour,
> Lequel?

> UserForm1.show
> ou
> UserForm2.show

> parceque UserForm.show ne le dit pas!
>   Donc il cherche l'objet nommé user
> form tout court qui n'existe pas
> et donc te renvoie une 424

> --
> lSteph

> Jean-Paul V a écrit :
> > Bonjour à tous

> > Lorsque j’appelle un Userform avec Userform.Show, j’ai erreur   sur
> > Userform.Show
> > Y aurait-il une astuce pour que cette erreur nous dise sur quel objet ou
> > quels objets portent cette erreur car malheureusement quand je fais D ebogage
> > il pointe sur Useform.Show et comme j’ai plein de macros en cascade il est
> > difficile de trouver l’objet requis et le F8 pas à pas est inop érant.

> > A + j’espère- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
LSteph
;o))
ce n'était pas vraiment une question
mais ce qui se voulait t'orienter vers la réponse!

On 1 juil, 11:31, Jean-Paul V
wrote:
Re bonjour
Votre question m'a aidé à régler mon problème.
J'ai dû modifier
UserForm1.Controls(Controle).AddItem Rst(0) par
Formulaire.Controls(Controle).AddItem Rst(0) cela aurait été utile qu e le
débog pointe la dessus au lieu de Formulaire.show

Je pense qu'une réponse à ma question pour d'autres cas me serait uti le.

Bonne journée
--
Jean-Paul V



"LSteph" wrote:
> Bonjour,
> Lequel?

> UserForm1.show
> ou
> UserForm2.show

> parceque UserForm.show ne le dit pas!
>   Donc il cherche l'objet nommé user
> form tout court qui n'existe pas
> et donc te renvoie une 424

> --
> lSteph

> Jean-Paul V a écrit :
> > Bonjour à tous

> > Lorsque j’appelle un Userform avec Userform.Show, j’ai erreur   sur
> > Userform.Show
> > Y aurait-il une astuce pour que cette erreur nous dise sur quel objet ou
> > quels objets portent cette erreur car malheureusement quand je fais D ebogage
> > il pointe sur Useform.Show et comme j’ai plein de macros en cascade il est
> > difficile de trouver l’objet requis et le F8 pas à pas est inop érant.

> > A + j’espère- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -