Erreur 400 : appel d'une routine depuis un userform
Résolu
ezor
Messages postés
190
Statut
Membre
-
ezor Messages postés 190 Statut Membre -
ezor Messages postés 190 Statut Membre -
Bonjour à tous,
J'ai besoin de votre aide car une erreur 400 apparaît lorsque je fais appel à une routine depuis le code d'une userfom.
Plus précisément, je dois remplir un tableau dynamique avec des entiers entrés par l'utilisateur (qui appuie sur un bouton 'ajout' à chaque fois, et un bouton 'AetF' pour la dernière valeur qu'il souhaite entrer).
J'ai donc le code suivant dans l'userform
Et dans la feuille contenant les routines de la macro globale on trouve
Le problème est donc que le suivant : lorsque je lance la macro, j'ai bien l'userform qui s'ouvre, mais lorsque je clique sur le bouton 'ajouter' j'ai le message suivant :
"erreur d'execution 400 : erreur définie par l'application ou par l'objet" et le débugger m'indique que l'erreur se situe au moment du Call Feuil1.remplir_tab (ligne 6 et 15).
Malgré mes recherches, je n'arrive pas à savoir ce que cela signifie ni comment régler ce problème.
J'espère que c'est assez clair, sinon je peux vous expliquer plus en détail le code.
D'avance merci
ezor
J'ai besoin de votre aide car une erreur 400 apparaît lorsque je fais appel à une routine depuis le code d'une userfom.
Plus précisément, je dois remplir un tableau dynamique avec des entiers entrés par l'utilisateur (qui appuie sur un bouton 'ajout' à chaque fois, et un bouton 'AetF' pour la dernière valeur qu'il souhaite entrer).
J'ai donc le code suivant dans l'userform
Private Sub BoutonAjouter_Click()
If IsNumeric(TextBox1.Text) Then
rep_userform = CInt(TextBox1.Value)
End If
TextBox1 = ""
Call Feuil1.remplir_tab
End Sub
Private Sub BoutonAetF_Click()
If IsNumeric(TextBox1.Text) Then
rep_userform = CInt(TextBox1.Value)
End If
fin_entrez_val = True
Unload Me
Call Feuil1.remplir_tab
End Sub
Et dans la feuille contenant les routines de la macro globale on trouve
Public Sub ask_val()
boite_diag.Show
End Sub
Public Sub remplir_tab()
ReDim Preserve tab_val_pos(compt)
tab_val_pos(compt) = rep_userform 'valeur entrée dans la boite de diag
If fin_entrez_val = False Then
compt = compt + 1
Call ask_val
Else
fin_ask_val = True 'sert dans le reste de la macro mais sans rapport avec mon problème
End If
End Sub
Le problème est donc que le suivant : lorsque je lance la macro, j'ai bien l'userform qui s'ouvre, mais lorsque je clique sur le bouton 'ajouter' j'ai le message suivant :
"erreur d'execution 400 : erreur définie par l'application ou par l'objet" et le débugger m'indique que l'erreur se situe au moment du Call Feuil1.remplir_tab (ligne 6 et 15).
Malgré mes recherches, je n'arrive pas à savoir ce que cela signifie ni comment régler ce problème.
J'espère que c'est assez clair, sinon je peux vous expliquer plus en détail le code.
D'avance merci
ezor
A voir également:
- Erreur 400 : appel d'une routine depuis un userform
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur t32 ✓ - Forum Livebox
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
Maintenant, l'erreur est situé au niveau de la ligne 3 du deuxième bloc de code (boite_diag.Show). Pourtant l'userform se lance bien la première fois.
NB : boite_diag est le nom de mon userform
merci pour ton aide.