Argument ou appel de procédure incorrect avec UserForm_Initializ

Résolu/Fermé
Signaler
Messages postés
16
Date d'inscription
mardi 9 décembre 2014
Statut
Membre
Dernière intervention
15 décembre 2014
-
Messages postés
16
Date d'inscription
mardi 9 décembre 2014
Statut
Membre
Dernière intervention
15 décembre 2014
-
Bonjour,

J'ai créé un ensemble d'UserForms reliées entre elles par des boutons suivants (masque l'userform active pour afficher la suivante). Dans l'une d'elle j'ai mis des multipages contenant des listBox (classe des aliments suivant leur famille). Je voudrais que, si dans ma feuille de calcul"Donnees" il est écrit "Végétarien" dans la cellule E6 (ce qui est le cas), la Page9 de ma MultiPage2 ne s'affiche pas. J'ai donc mis ces instructions dans la procédure Initialize mais ça ne fonctionne pas, ça me renvoie un message d'erreur. J'ai essayé d'écrire Load Gouts dans la UserForm précédente (dans la procédure Click du bouton Suivant) mais là encore une erreur car il ne reconnait pas cette instruction. Si je mets juste Gouts.Show soit ça ne beug pas mais ça ne fait rien (si j'écris Gouts_Initialize dans ma UserForm Gouts) ou j'ai une erreur "argument ou appel de procédure incorrect" (quand j'écris UserForm_Initialize) Voilà mon code:


UserForm Regimes_Spe:


Private Sub Suivant_Click()
If CheckBox1 = True Then
Worksheets("Donnees").Range("E6") = "Végétarien"
End If
If CheckBox2 = True Then
Worksheets("Donnees").Range("E7") = "Végétalien"
End If
Regimes_Spe.Hide
Gouts.Show
End Sub


UserForm Gouts:


Private Sub UserForm_Initialize()
Gouts.MultiPage1.Value = 0
Worksheets("Donnees").Select
If Range("E6").Value Like "*Végétarien*" Then

'MsgBox "Le mot ""DVP"" existe dans la cellule A1."
Gouts.MultiPage2.Pages(10).Enabled = False
Gouts.MultiPage2.Pages(10).Visible = False 'page9 = viande

End If
If Range("E7").Value Like "*Végétalien*" Then
'MultiPage2.Pages(10).Enabled = False
'Set MultiPage2.Pages(10).Visible = False 'page9 = viande
'MultiPage1.Pages(5).Enabled = False 'produits laitiers = page4
'ListBox10.RowSource = "D607:D621"

End If
End Sub



Si quelqu'un peut m'expliquer d'où vient le problème, parce que j'ai lu des exemples, de tutos mais je ne comprends pas pourquoi ça ne marche pas...
Merci d'avance pour votre aide
Claire

2 réponses

Messages postés
1953
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
12 août 2021
151
Bonjour,

Juste une question de syntaxe...
MultiPage2.Page3.Visible = False

Le fait que l'erreur ne survienne pas toujours est parce que c'est dans un If, il n'évalue pas cette expression si la condition n'est pas remplie.

A+
0
Messages postés
16
Date d'inscription
mardi 9 décembre 2014
Statut
Membre
Dernière intervention
15 décembre 2014

Si j'écris ce que tu proposes j'ai une nouvelle erreur:
"Propriété ou méthode non gérée par cet objet"
et la ligne Gouts.Show est surlignée (Procédire Suivant_Click de l'userform Regime_Spe)

Et elle l'erreur qui apparait ou non ne vient pas du fait que ce soit dans dans un If car la condition est toujours remplie lorsque je compile (je fais en sorte qu'elle le soit justement pour voir d'où vient l'erreur). Je n'ai pas d'erreur quand j'écris ma procédure Gouts_Initialize (je suppose qu'il la considère inexistante parce que pas d'erreur mais pas de résultat non plus...), je n'en ai une que quand j'écris UserForm_Initialize (procédure générée directement par VBA donc je suppose que c'est la syntaxe correcte?)
0
Messages postés
1953
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
12 août 2021
151
La compilation ne détecte pas tout. Essaie en renommant ton Multipage Multipage3. Alors qu'il n'y a plus de Multipage2, ça compile sans problème (du moins, chez moi, sans "Option Explicit" et ce genre de tralala).

Aurais-tu donné le nom Gouts à autre chose que le UserForm ?
Peux-tu envoyer ton fichier wia https://www.cjoint.com/ ?
0
Messages postés
16
Date d'inscription
mardi 9 décembre 2014
Statut
Membre
Dernière intervention
15 décembre 2014
>
Messages postés
1953
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
12 août 2021

Voilà mon fichier
https://www.cjoint.com/?DLmn5S3rx0D

Je n'ai donné le nom Gouts qu'à ma UserForm...
0
Messages postés
1953
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
12 août 2021
151
Voila ma correction.

https://www.cjoint.com/c/DLmon7GPPAy

On est bien d'accord que ce que tu m'as envoyé marchait car le code en défaut était commenté, mais que le comportement des UserForms n'était pas celui attendu ?
0
Messages postés
16
Date d'inscription
mardi 9 décembre 2014
Statut
Membre
Dernière intervention
15 décembre 2014

Oui oui ce que j'ai envoyé marche parce que j'ai commenté tout ce qui plante. Merci beaucoup ça marche! je ne comprends pas, j'avais commencé par écrire comme ça mais il ne reconnaissait pas Page9.
En tout cas merci beaucoup!!!!
0