Quitter une application [Résolu]

Signaler
Messages postés
26
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
21 février 2006
-
Messages postés
26
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
21 février 2006
-
salut a tous

j utilise vb6 avec excel, (pas vba) et mon petit souci est que lorsque je quitte mon application par la croix (situé en haut a droite"windows") ou lors d'un bug , mon fichier excel reste ouvert (dans le gestionnaire des tâches je retrouve EXCEL.EXE) mais lorsque je quitte par le bouton quitter ca fonctionne parfaitement
voici le code de mon bouton :
xl.Application.DisplayAlerts = False
xl.Workbooks.Close

Si vous pouviez m'aider pour que lorsque le projet ce ferme par n'importe quel moyen (bug, volontairement (sans passez par le bouton quitter) mon fichier Excel se ferme aussi)

ps: ce probleme me rend dingue

MERCI A TOUS


un mec de stras

10 réponses

Messages postés
26
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
21 février 2006

MERCI BEAUCOUP CA MARCHE ENFIN !!!!

un mec de stras
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Messages postés
27
Date d'inscription
mardi 19 avril 2005
Statut
Membre
Dernière intervention
29 août 2006

'Si tu fermes une fenetre avec la petite croix, le code suivant l'interceptera
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

If UnloadMode = vbFormControlMenu Then
Form_Unload (Cancel)
End If

End Sub
Messages postés
26
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
21 février 2006

lorque je le met il ya un message d erreur ki met "erreur de compilation" , "procedure sub ou fonction non defini" et ce message pointe sur form_unload et sur Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

kel est le prob?

(je doi le mettre dan toutes les feuilles c ca??)


un mec de stras
Messages postés
27
Date d'inscription
mardi 19 avril 2005
Statut
Membre
Dernière intervention
29 août 2006


Messages postés
27
Date d'inscription
mardi 19 avril 2005
Statut
Membre
Dernière intervention
29 août 2006

Probablement tu n'as pas défini de fonction Form_Unload.
Par exemple

Private Sub Form_Unload(Cancel As Integer)

Dim frm As Form

'Fermer excel

For Each frm In Forms
Unload frm
Set frm = Nothing
Next

End Sub
Messages postés
26
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
21 février 2006

doi - je remplacer frm par le nom de ma form ou garder frm?? (le probleme et tjr presen avec ce ke tu ma mi)
et doi je le mettre dans toute les form??


un mec de stras
Messages postés
27
Date d'inscription
mardi 19 avril 2005
Statut
Membre
Dernière intervention
29 août 2006


Messages postés
27
Date d'inscription
mardi 19 avril 2005
Statut
Membre
Dernière intervention
29 août 2006

Oups

en fait tu DOIS pas le mettre partout
Le mieux:

- dans ta frm principale:

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

Dim frm As Form

'Fermer excel

'Pour s'assurer que toutes les autres formes sont bien fermées
For Each frm In Forms
Unload frm
Set frm = Nothing
Next

End Sub

- dans tes autres frms

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)


'libérer objets inutiles, par exemple



End Sub

Le coup du "If UnloadMode = vbFormControlMenu Then", c'était juste à cause de l'histoire de la croix rouge.
Comme ca ca devrait suffire. (Désolé pour les cédilles, clavier allemand)
Messages postés
26
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
21 février 2006

ya pa de souci pour l ecriture mai le prob perciste
dans mon gestionniare de tache il y a tjr ce EXCEL.EXE


un mec de stras
Messages postés
27
Date d'inscription
mardi 19 avril 2005
Statut
Membre
Dernière intervention
29 août 2006

Est-ce que tu fermes bien Excel à un moment donné?

'----------------Fermeture de l'application Excel---------------------
Public Sub FermerExcel()

On Error GoTo FermerExcel_Error

If Not (appExcel Is Nothing) Then
'appExel ne s'appelle pas forcement comme ca chez toi!
appExcel.Quit
End If
Set appExcel = Nothing

On Error GoTo 0
Exit Sub

FermerExcel_Error:

Set appExcel = Nothing

End Sub