celinevba
Messages postés2Date d'inscriptionmardi 2 juillet 2002StatutMembreDernière intervention12 juillet 2002
-
12 juil. 2002 à 14:52
stephseiy
Messages postés3Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention 1 juillet 2003
-
18 juil. 2003 à 11:52
Salut tous !
J'ai un projet en VBA Excel contenant plusieurs userform. Il est possible de naviguer d'une feuille l'autre. Pour cela, j'ai cod par exemple pour que la premire feuille s'affiche :
Sub Initialisation()
Accueil.Show 'accueil est le nom d'une de mes userform
End Sub
ou aussi d'autres fois :
Private Sub CommandButton7_Click()
Unload Me
userform1.Show
End Sub
Cette procdure permet effectivement d'afficher la feuille accueil puis excute le code associ cette feuille. le problme qu'au bout d'une dizaine de changemente de feuille, une erreur se produit : erreur 28 espace pile insuffisant. J'ai ensuite effectu un dbogage avec un pas pas dtaill et je me suis rendue compte que lorsqu'il y a "xxx.show" alors l'excution ne va pas par le "end sub" donc ne dpile pas la pile.
Comment faire???
Merci de votre aide.
celinevba
Messages postés2Date d'inscriptionmardi 2 juillet 2002StatutMembreDernière intervention12 juillet 2002 12 juil. 2002 à 15:51
Salut DeathAngel,
Merci d'avoir essay de m'aid mais cela n'a pas fonctionn.
Je pense que c'est parce que sous VBA, il n'y a pas load comme venement pour les userform (quivalent des forms de vb me semble-t-il.).
stephseiy
Messages postés3Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention 1 juillet 2003 18 juil. 2003 à 11:52
Je pense que tu prends la question à l'envers.
Voila ce que j'utilise
pour le userform1 :
'*****
Private Sub UserForm_Activate()
Unload UserForm2
End Sub
Private Sub UserForm_Click() '** ou un bouton
UserForm1.Hide
End Sub
Private Sub UserForm_Deactivate()
Load UserForm2
UserForm2.Show
End Sub
'*******
Pour la userform2:
'*****
Private Sub UserForm_Activate()
Unload UserForm1
End Sub
Private Sub UserForm_Click() '** ou un bouton
UserForm2.Hide
End Sub
Private Sub UserForm_Deactivate()
Load UserForm1
UserForm1.Show
End Sub
'*****
Bien sur ce code doit être adapte. Je n'ai pas eu de pb avec cette méthode pour l'instant.