Fermer un seul classeur ou pas
bonsoir
Je solicite une nouvelle fois votre aide car je suis perdu..
En effet, étant en train de créer un petit programme pour des personnes et moi, je souhaiterais sous code vba avoir la possibilité de soit fermer le classeur après enregistrement ou non, soit fermer l'application.. et la je bloque
voici mon code:
Private Sub CommandButton8_Click() ' boite de dialogue pour la sauvegarde ou non
Réponse = MsgBox("voulez vous sauvegarder le fichier ?" & Chr(13) & Chr(10) & " OUI pour enregistrer ; NON pour fermer sans enregistrer(perte des saisies", vbYesNoCancel, "Avant de partir ...")
If Réponse = vbYes Then
Réponse = MsgBox("voulez quitter excel ?" & Chr(13) & Chr(10) & " OUI je peux quitter excel ; NON un autre fichier est ouvert et je ne veux pas le fermer", vbYesNoCancel, "Avant de partir ...")
If Réponse = vbYes Then
For Each Workbook In Application.Workbooks
Workbook.Save
Next Workbook
Application.Quit
End If
If Réponse = vbNo Then
Workbooks("fichier1.xlsm").Close savechanges:=False
End If
If Réponse = vbCancel Then
MsgBox ("fermeture fichier abandonné ; les données ne sont pas sauvegardées")
End If
End If
If Réponse = vbNo Then
Réponse = MsgBox("voulez quitter excel ?" & Chr(13) & Chr(10) & " OUI je peux quitter excel ; NON un autre fichier est ouvert et je ne veux pas le fermer", vbYesNoCancel, "Avant de partir ...")
If Réponse = vbYes Then
ThisWorkbook.Saved = True
Application.Quit
End If
If Réponse = vbNo Then
Workbooks("fichier1.xlsm").Close savechanges:=True
End If
If Réponse = vbCancel Then
MsgBox ("fermeture fichier abandonné ; les données ne sont pas sauvegardées")
End If
End If
End Sub
il a fonctionné une fois puis plus rien...
une âme charitable aurait il une solution a me proposer
merci par avance
cordialement
Thivame
Bonjour
Une macro sans son fichier, c'est comme un moteur sans sa voiture : ça n'avance pas !
Bye !
bonsoir gmb,
je sais bien que sans le fichier c'est pas terrible mais c'est un classeur assez lourd avec un dizaine d'onglet rattaché les uns aux autres , etc mais en fait y a t il vraiment besoin du fichier car au final j'aimerais savoir comment fermer l'application si aucun autre classeur est ouvert... ou fermer uniquement le classeur si un autre est ouvert
merci
bonsoir,
Jai changé mon code
bon cela a fonctionné une seule fois mais au final je n'arrive pas a faire cette macro...
Voici le fichier
en fait ce que j'aimerais c'est qu'en cliquant sur "quitter" que cela quitte excel si il n'y a qu'un classeur d'ouvert et s'il y a un autre classeur d'ouvert que seul le classeur Suiviessai se ferme
en esperant trouver une ame charitable qui puisse m'aider
petit up please...
J'ai meme essayé de mettre un bouton sur une feuille donc je unload le userform je clique sur le bouton quitter et j'ai les meme symptomes, a partir du moment ou j'ai plusieurs classeur d'ouverts, soit il ne se ferme pas du tout soit il se ferme une fois et celle d'apres il ne se ferme plus par contre le application.close fonctionne...., macro dans un module ca fait pareil.
merci pour votre aide
POUR CEUX QUI AVAIENT LE MEME PROBLEME
la patience paye... finalement j'ai trouvé j'ai créé un module avec 4 sub de sortie (en public) et dans mon bouton de mon userform pour chaque situation (donc 4) je l'envoie vers le sub correspondant
ce qui donne pour ceux que ca peut aider
Public CancelSortie As Boolean
Sub LaSortie()
Application.DisplayFullScreen = False
CancelSortie = False
ThisWorkbook.Close True
End Sub
Sub LaSortie2()
Application.DisplayFullScreen = False
CancelSortie = False
ThisWorkbook.Save
Application.Quit
End Sub
Sub LaSortie3()
Application.DisplayFullScreen = False
CancelSortie = False
ThisWorkbook.Close False
End Sub
Sub LaSortie4()
Application.DisplayFullScreen = False
CancelSortie = False
Application.Quit
End Sub
j'ai essayer 6 fois chaque sortie et elles ont fonctionné 6 fois.. ca faisait un bout que je cherchais et c'etait le public que j'avais zappé...
Merci quand meme a vous
cordialement