Chargement d'un USERFORM entraînant la fermeture d'Excel

Bonjour à tous,

Je viens vers vous au sujet d'un bug que je constate sur un fichier que j'ai créée et relativement lourd (10mb).

  • Ce fichier codé en VBA contient une multitude d'userform.
  • L'appel du premier Userform via l'interface classique excel (via un bouton) entraîne la fermeture du document comme s'il buggait sans toutefois l'apparition d'un message me spécifiant une erreur.
  • La solution actuelle permettant le rétablissement du fonctionnement correct consiste en l'ouverture de l'éditeur VBA, l'affichage d'un aperçu (F5) d'un des userform.

- Cette manipulation permet le fonctionnement correct de mon fichier par la suite mais reste lourde pour un utilisateur tiers et sans compétences en VBA.

L'un de vous aurait-il une idée ?

Bien cordialement.

Christian

Bonjour crisskala, et bienvenue sur le forum,

Hum ! il y a surement dans ta programme un partie de celui-ci qui doit fermer ton fichier.... ou pas !

Sans fichier il sera très difficile de te répondre.

Donc s'il pèse très lourd tu n'as qu'à simplement nous laisser, dans ton fichier, les 2 ou 3 premières lignes par onglet, ce sera suffisant pour comprendre ta problématique.

A bientôt

Merci de ta réponse:

S'agissant de mon travail de thèse en pharmacie je ne peux diffuser mon travail et une faible partie du code ne sera que très peu contributive:

Ce que je constate;

- L'éxécution d'une macro sensée appeler l'userform1 entraîne la fermeture inopinée d'excel, voici le code

Private Sub CommandButton1_Click()

Load UserForm1

UserForm1.Show

End Sub

- L'ouverture préalable de l'éditeur VBA puis du lancement d'un userform via l'éditeur (par exemple userform2) puis de sa fermeture permet le rétablissement du bon fonctionnement

J'avais pour idée de trouver un code permettant lorsque je souhaite faire apparaître mon userform1:

1- L'ouverture de l'éditeur VBA

2- le lancement de l'userform2 puis sa fermeture

3- La fermeture de l'éditeur VBA

4- L'affichage de l'userform1

J'avais pense à:

Lors de l'ouverture de l'userform1 à

Private Sub CommandButton1_Click()

Application.VBE.MainWindow.Visible = True

Load UserForm1

UserForm1.Show

End Sub

*(à cette étape je ne sais pas lancer l'userform2 via l'éditeur VBA)

Puis lors de l'initialisation de l'userform1 à:

Application.VBE.MainWindow.Visible = False

J'éspère avoir été clair merci aux courageux qui me liront !

Crisskala

Le code suivant pour l'ouverture de l'userform1 suffit amplement.

Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

Donc il doit s'ouvrir et ne pas se fermer ! Il y a une coquille dans un autre endroit... cela ne peut être autrement.

N'avez-vous pas quelque part dans votre procédure après l'ouverture de l'userform un des codes suivant "Unload me" ou "Me.Hide" par exemple dans votre code "Private Sub UserForm_Initialize()"

Le projet d'ouvrir le ProjectVba ne sert à rien car normalement la programmation doit être correcte.

Sinon je ne peux rien de plus sans fichier.

Bon courage

Cdt

Rechercher des sujets similaires à "chargement userform entrainant fermeture"