VBA Erreur d'exécution '459' sur un userform

Résolu
Bonjour,

j'ai un soucis lors de l'exécution d'un userform de mon fichier excel, celui-ci me sort comme erreur :

Erreur d'exécution '459':
Lo'bjet ou la classe ne gère pas le jeu d'événements

le code lié est :

Sub ouvrirOperations()
Sheets("Racine").Select
F_OrdreVir.Show
End Sub

Le débuggeur me surligne la ligne F_OrdreVir.Show où F_OrdreVir est l'userform en question.

savez-vous pourquoi?

J'ai un autre userform qui s'ouvre de la même facon et lui qui ne bug pas, je ne comprends donc pas.

Merci d'avance.

Mickaël.
Configuration: Windows Vista
Firefox 3.0.6

14 réponses

  1. quelqu'un aurait une petite idée?
    Merci a vous d'y jeter un petit coup d'oeil.
    0
    1. Contributeur
      Bonjour,

      C'est difficile de comprendre ton problème car c'est surement à l'initialisation de ton Userform qu'il y a un problème. Il faudrait que nous sachions ce qui s'exécute à l'initialisation.

      Si c'est possible tu peux peut-être déposer un fichier réduit avec l'erreur sur www.cijoint.fr

      A+

      Cordialement,
      0
      1. merci pour votre réponse,

        le code de l'initialize de l'user form en question est

        Private Sub UserForm_Initialize()
        Me.DateJour = Date
        Me.natOperat.RowSource = "typeOper"
        Me.typeVir.RowSource = "typerVir2"
        Me.banqueOper.RowSource = "typebanque"
        End Sub

        si cela peut vous aider.

        quand j'execute ce code j'ai encore l'erreur 459 mais aucun surlignage jaune.
        0
    2. j'ai déposé mon fichier sur

      http://www.cijoint.fr/cjlink.php?file=cj200902/cijsp8w7Oa.xls

      si tu cliques sur Saisie des opérations tout en haut tu y veras l'erreur.
      0
      1. Contributeur
        Re bonjour,

        Je ne vois pas le problème, j'ai reproduit le même Userform et chez moi celà fonctionne.

        1/ Une question naive, c'est bien la plage de valeur typerVir2 et non pas typeVir2.
        2/ Par ailleurs, il faudrait essayer en supprimant le Me. devant chaque commande
        3/ Ce sont bien un champ texte et trois combos ?
        4/ si ça plante toujours essayer de mettre un commentaire successivement devant chacune des instructions pour essayer de trouver celle qui pose problème.

        A+

        0
        1. Contributeur
          Bonjour,
          Quand il y a une erreur dans l'initialisation d'un UF c'est effectivement la ligne UF.show qui est surlignée en erreur
          Pour trouver la ligne ou la commande qui génére l'erreur...
          Mettre un point d'arret sur l'UF.Show et faire du pas à pas (F8) quand la ligne en erreur est rencontrée, le curseur retourne sur UF.Show, comme ça tu peu déja voir sur quel ligne ça cloche.
          A+
          0
          1. En fait il n'y a que chez moi que le fichier plante, un camarade vient de l'ouvrir sur son pc et ca marhce aussi..
            a par le fait qu'il utilise excel 2008, et moi 2003 je ne vois pas de différence.
            0
            1. J'ai fais le pas a pas avec le point d'arret sur useform, chaque ligne du code de mon userform plante pendant le pas a pas.
              0
              1. ah, j'ai une nouvelle,

                j'ai supprimé tous mes codes et tenté d'ouvrir simplement l'userform et il me donne toujours l'erreur d'execution 459, l'autre userform présent sur le fichier lui s'ouvre toujours.
                Est-ce possible que ca ne soit pas une erreur de code?
                0
                1. Contributeur
                  Lermite et micom,

                  Moi j'avais une erreur curieuse sur l'instruction Date que je ne m'explique pas. J'ai modifié le code en mettant :

                  Me.DateJour = DateTime.Date

                  Et maintenant tout fonctionne normalement.

                  Je ne comprends pas

                  A+
                  0
                  1. moi non plus je comprends pas, j'ai changé l'instruction date, mais ca ne change rien
                    0
                    1. Contributeur
                      A tout hasard,

                      Moi je n'ai pas l'active X "Microsoft calendar control". Tu dois peut-être l'avoir sur ta machine. Il semble que DateJour soit un mot réservé de cet active X. Donc à tout hasard tu devrait essayer de renommer ton textbox DateJour avec un autre nom. Il y a peut-être un conflit lors de l'interprétation du code ?

                      Vraiment a tout hasard....
                      0
                      1. Contributeur
                        Bon, oublions mon post précédent c'est ésoterique !!!!
                        0
                    2. Contributeur
                      Bonsoir,

                      J'insiste, j'ai l'intuition que le problème vient du "Microsoft calendar control". Je l'ai installé celà a corrigé l'erreur que j'avais lors du lancement "Impossible de charger objet".

                      Chez moi tout fonctionne bien mais je te conseille de tester deux choses :

                      1/ initialise la date du calendrier en modifiant comme cela :
                      Private Sub UserForm_Initialize()
                          Calendar2.Value = Now
                          Me.DateJour = Date
                          Me.natOperat.RowSource = "typeOper"
                          Me.typeVir.RowSource = "typerVir2"
                          Me.banqueOper.RowSource = "typebanque"
                      End Sub
                      

                      2/ peut-être que tu as un problème avec l'active X du calendrier. Donc tente le chose suivante :
                      dans Démarrer/Excécuter tape la commande : regsvr32 mscal.ocx puis OK

                      3/ et si ça marche toujours pas je pense que ton mscal.ocx est endommagé alors tu peux le récuperer ici :
                      http://www.fontstuff.com et suivre la procédure d'install c'est ce que j'ai fait (j'ai excel 2003 sous XP) et donc chez moi ça marche.

                      A+

                      Cordialement,
                      0
                      1. Contributeur
                        Petite rectification pour...
                        2/ peut-être que tu as un problème avec l'active X du calendrier. Donc tente le chose suivante :
                        dans Démarrer/Excécuter tape la commande : regsvr32 mscal.ocx puis OK

                        Sous vista ça ne marche que si ont est loggé en tant qu'administrateur>>
                        dans la ligne de commande taper cmd .. Ne pas taper ENTER.. Sur l'icône Cmd (plus haut) cliquer droit et ouvrir en tant qu'administrateur et dans la fenêtre dos taper la commande, alors c'est bon, sinon affiche erreur.
                        A+
                        0
                        1. Bonjour et merci Pilas et Lermitte pour vos réponses,

                          vous avez trouvé mon probleme!!

                          c'est en effet mon mscal qui était endommagé, après reinstallation de cleui-ci le formulaire remarche!

                          merci encore!

                          Mickaël.
                          0
                          1. Contributeur
                            Salut Micom et Lermite,

                            Je suis heureux car depuis le début j'avais un soupçon sur calendar. (comme vous pouvez le voir à l'heure de mon post) je me suis révéillé pour suggérer cette solution, mais je vois que Lermite est aussi intervenu trés tard ;) !

                            Bonne continuation

                            A+
                            0