Userform qui ne se ferme pas

Bonjour, je rencontre le problème suivant :

J'ai une Userform "A" que j'utilise comme menu principal, je récupère l'option choisie dans une macro principale (Qui l'as lancée) et lance différentes autres macro qui, quand elles se termines, relance la userform "A" (Menu) par l’intermédiaire de la macro principale, sur ce point tout est OK

Pour 2 des options de cette Userform "A" la macro principale lance juste une Userform "B" (fenêtre de paramétrage), à la fermeture de cette userform "B" je relance la macro principale qui active directement le Userform "A" et la, la Userform "B" ne se ferme jamais

j'ai essayé de lancer directement la macro principale puis, j'ai mis sont lancement dans le Query_close de la userform "B", toujours pareil

j'ai également essayé de lancer une autre macro à la fermeture de "B" qui elle même relance l'ouverture de la macro principale, la userform "A" s'ouvre bien mais la "B" reste encore ouverte

j'ai alors mis au lancement de la userform "A" (dans initialize) un 'if userformB.visible=true then unload userformB' mais "B" ne se ferme toujours pas

Une idée de ce que je pourrait faire?

merci d'avance de votre aide

bonjour,

En l'absence de code, je pense que tu n'utilises pas le bon événement.

pour confirmer, merci de mettre ton fichier (anonymisé)

Merci de l’attention portée à mon problème, j'ai supprimé la gestion des droits utilisateurs et les mails afin que le fichier soit utilisables par tous

Au lancement, la Userform "Typeaction" se lance, le problème se produit sur les option 8 et 9 qui lancent respectivement les Userforms "Parametrage" et "param_utils" c'est à la fermeture de ces deux fenêtres que le problème se produit, la userform "Typeaction" se lance bien mais ces fenêtres ne se ferment pas

Merci d'avance pour toute aide et bonne soirée

Bonsoir,

J'ai juste ouvert ton fichier, sans accepter les macros.
Puis, dans le VBE, j'ai regardé ce qui pouvait se passer...
Et devant ça :

image

Je me suis dit "Recommence tout"...

Ton fichier est corrompu, et malade de ce que l'on appelle le "syndrome de la feuille fantôme"

Tous les "objets" entourés de rouge n'ont rien à faire dans ton classeur, et ne peuvent que provoquer des dysfonctionnements...

A ce jour, et à ma connaissance, il n'existe pas de solution miracle, et il faudrait :

- recopier tous les onglets

- recopier tous les usf (nommés "Feuilles")

- recopier tous les modules

Et tout ceci, dans un nouveau classeur, tout neuf, bien propre....

Mais, ce n'est que d'après mes expériences...

Bon courage

Merci de ta réponse, je vais regarder à cela

Bonne journée

Bon, j'ai tout transféré dans un fichier propre et neuf et vu le changement de taille ça a retiré des choses mais malheureusement le problème initial reste le même les deux fenêtres citées ne se ferment toujours pas

Merci pour cette amélioration et toujours à l'écoute de nouvelles pistes

bonne journée

Bonjour,

Pouvez-vous partager le nouveau fichier ? Merci.

Oui bien sur, le voici

Merci de l'attention portée à mon souci

Bonne journée

19validation-forum.zip (556.38 Ko)

Bonjour à tous, le problème persiste et je ne trouve toujours pas de solution à l'absence de fermeture des ces deux userform, sans savoir si cela est lié, je rencontre aléatoirement un autre souci avec l'utilisation de ce fichier qui génère l'erreur joint en copie écran sur certains PC

probleme de plantage

le même PC utilisé avec une autre session utilisateur ne pose pas de problème, parfois un simple redémarrage suffit et sur d'autre machine il faut recréer le profil utilisateur, pour les plus rétissantes, le soucis réapparait quelques utilisations après recréation du profil...

Bref, je suis un peu perdu et ne trouve plus aucune piste pour avancer sur ces deux soucis

merci d'avance à toute personne susceptible d'apporter son aide

Je réactive ce sujet pour faire un retour sur une multitude de tests puisqu'en effet j'ai réussit à éradiquer cette erreur qui venait de l'utilisation de fichiers.ico (png transformés en .ico pour garder l'effet de transparence) avec la fonction PictureSizeMode à 1, le passage à 0 sur toutes les images à totalement supprimé le problème sur tous les PC concernés.

Pour la partie Userform qui ne se ferme pas je vais maintenant tester le fait de mettre le code dans "Terminate" plutôt que "Qeryclose"

bonne journée à toutes et tous

Bonjour,

Je pense que si personne ne répond c'est que votre code, est comme un plat de spaghetti...

Quelques petits conseils :

  • Quand vous poster un fichier faites en sorte que l'utilisateur puisse avoir la main sur le code d'entrée..
  • Utiliser des fonctions qui n'ont qu'une seule chose à faire votre code en sera que plus lisible.
  • Créer des fonctions qui vont vous rendre la vie plus simple par exemple get et setSettings pour lire ou écrire un paramètre dans un tableau. Regarder dans le classeur joint du coté du module Settings c'est du minimaliste mais cela rend bien service.
  • La gestion dans la procédure lancement_ouverture() c'est du fouillis sans nom... La permission pour l'utilisateur doit être définit à l'ouverture du classeur. Si vous voulez que cette permission soit disponible tout le temps Alors peut-être faut-il la traité dans le module Factory.
  • Faire des formulaire personnalisés pour répondre à une question Oui ou Non sont-ils vraiment nécessaires ?
  • Utiliser les propriétés pour envoyer et recevoir de données aux formulaires vous vous en porterez mieux.
  • Le ruban existe depuis 2007 pensez à l'utiliser en lieux et place de formulaire pour certaines actions.

Je joint un petit fichier pour la gestion des utilisateurs. Au démarrage cliquez sur Non allez sur la feuilles 'Utilisateurs' et ajouter votre nom d'utilisateur et le niveau de permission. Ceci fait vous pouvez lancer le test en cliquant sur Le bouton Lancer du groupe Tests de l'onglet Valtrase tests.

Prenez le temps de bien regarder et de faire aussi du pas à pas pour voir le déroulement du code.

Bonjour et merci de vos commentaires, en effet j'essaye d'apprendre au jour le jour et cet outil arrive bien au delà de mes limites actuelles.

Je vais étudier votre fichier et vos suggestions pour essayer de les mettre en pratique et me permettrait de revenir sur ce sujet au besoin, certaines optimisations comme le code ou les forms répétitives étaient déjà prévue mais je vais tenter d'y intégrer toutes vos autres suggestions.

Bonne journée

Bonjour à tous, pour le problème de userform qui ne se ferme pas, la procédure terminate à solutionné cela

@Jean-Paul, pour le fichier transmis que j'ai regardé attentivement, déjà un grand merci, il va plus loin qu'une simple réponse même si le fichier proposé dépasse très largement mon niveau en VBA mais le but étant d'apprendre je vais le décortiquer attentivement dès que l'on me donnera le temps nécessaire, je ne manquerait pas de vous tenir informé.

Pour les fonctions get et set j'y avait pensé, le choix est volontaire, je peut ainsi corriger facilement des cellules quand les utilisateurs font des gaffes (A voir plus tard quand le prog sera plus costaud)

Pour la gestion des utilisateurs, je vais en effet regarder ce point en premiers lieu

Dans un second temps, je regarderais la partie ruban

et il faut en effet que je rationalise chaque action unitairement, l'empilage de fonction et donc de code deviens difficile à gérer

Merci encore pour ce coupe de pouce très précieux

Bonne journée à tous

Petit update, après étude du fichier fourni je suis parvenu à adapter le code pour l'ouverture avec gestion utilisateur.

Je n'ai pas souhaité recopier le code afin de m'obliger à bien comprendre ce que je faisait, tout n'est pas maitrisé pour le moment mais les fonctions de base sont la

je passe à l'étape de séparation du code en sous procédure et fonctions avant d'attaquer l'utilisation de l'onglet

l'amélioration finale sera très conséquente, encore un grand merci pour l'aide apportée

Rechercher des sujets similaires à "userform qui ferme pas"