Fermer Excel après exécution des macros

Résolu
thesentry Messages postés 1092 Statut Membre -  
thesentry Messages postés 1092 Statut Membre -
Bonjour,

J'ai un USERFORM qui s'exécute tel un programme. Le classeur est caché pour les utilisateurs. Sur mon USF, j'ai un bouton qui donne accès au classeur en saisissant un mot de passe.

Lorsque je ferme mon userform (= je quitte le mini programme), Excel reste ouvert en fond.
J'ai donc utilisé Application.Quit et ça marche dans tous les cas, sauf 1.

Le cas qui me pose problème est : dès l'ouverture du programme, si je clique directement sur le bouton pour avoir accès au classeur, j'arrive sur le classeur et j'ai une fenêtre qui s'ouvre et qui me demande "Voulez-vous enregistrez les dernières modifications de votre fichier XXXXX ? Oui / Non" et ça le ferme.

Une solution ? Merci

voici mon code de fermeture :

Private Sub UserForm_Terminate()
Worksheets("suivi").Range("A1:Z50").ClearContents
SetWindowLong HandleUF, GWL_WNDPROC, BaseUFProc
Application.Quit
End Sub


1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    je clique directement sur le bouton Qu'avez-vous mis comme code pour arreter le VBA ????
    1
    1. thesentry Messages postés 1092 Statut Membre 16
       
      Bonjour,

      Le code mis à la fin de mon post initial.
      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      Private Sub UserForm_Terminate() ca c'est clic sur la croix de fermeture UF, pas un bouton !!!!!
      0
    3. thesentry Messages postés 1092 Statut Membre 16
       
      Re,

      Ah, autant pour moi.

      Le bouton fait apparaître un petit USF et voici son code :

      Private Sub TextBox1_Change()

      'Code pour rendre excel visible: EXCEL
      If TextBox1.Text = "UPGRADE" Then
      Application.Visible = True
      Unload Me
      Unload UserForm1
      End If

      End Sub
      0
    4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      au plus simple: End

      Private Sub TextBox1_Change()
      'Code pour rendre excel visible: EXCEL
      If UCase(TextBox1.Text) = "UPGRADE" Then
      Application.Visible = True
      End
      End If
      End Sub
      0
    5. thesentry Messages postés 1092 Statut Membre 16
       
      Bonjour f894009,

      Merci pour ton coup de pouce, c'est bon.

      (Désolé du retard).
      0