Routine au fonctionnement aléatoire

Salut,

J'ai à plusieurs reprise dans mon classeur la routine suivante :

Nouvelle_trame = Racine & "Agrement G (Manu)\Logiciel\Gestion de nav.vbs"

Application.Quit

Le but est de rouvrir le classeur (dans une nouvelle instance) pour revenir au menu principal et de fermer le classeur sur lequel on travaille (l'instance actuelle donc) une fois que l'activité en cours est terminée. Mais comme je fais appel à un script vbs, Windows (et pas Excel) m'affiche une boite de dialogue d'avertissement sur les risques de sécurité des scripts, que je dois valider par "Ok", sachant que le bouton préselectionné est " Annuler ".

Quand cette routine est lancée par un bouton (tous mes UserForms comprennent un bouton " Annulé " pour abandonner le travail en cours sans sauvegarder, qui fait appel à cette routine), elle fonctionne sans problème.

Quand cette routine est lancée en fin de macro, le fonctionnement est aléatoire :

  • 1 fois sur 10 ça fonctionne, l'ancienne instance est fermée, la nouvelle ouverte,
  • 1 fois sur 10 ça ne fonctionne pas : l'ancienne instance est fermée et c'est tout.
  • 8 fois sur 10 l'ancienne instance est fermée et l'avertissement est affiché. La nouvelle instance s'ouvre après validation manuelle de l'avertissement.

Quelqu'un aurait une idée du pourquoi du comment ?

Manu

Bonjour,

çà ressemble à un problème de focus

Quand cette routine est lancée par un bouton (tous mes UserForms comprennent un bouton " Annulé " pour abandonner le travail en cours sans sauvegarder, qui fait appel à cette routine), elle fonctionne sans problème.

dans Thisworkbook essai un événement : à l'ouverture ou au chargement ... histoire que le fichier prenne le focus...

@+JP

Euh... C'est à dire ? J'avoue que là je suis largué...

Mes connaissances en VBA sont très basiques...

Manu

Rechercher des sujets similaires à "routine fonctionnement aleatoire"