Fermer excel par vba

Le
moustic
Salut ta tous, par Toutatis!

Petit soucis pour fermer excel avec vba.
Pour tenir une caisse boisson au travail, dans un fichier nommé
"caisse.xls", j'ai créé une macro qui à l'ouverture:
- liste les fichiers du dossier courant,
- ouvre le dernier créé,
- sélectionne et copie des données,
- ferme ce fichier,
- colle les données dans "caisse.xls".
Et aussi une autre macro appelée par un bouton qui:
- sélectionne et copie toutes les cellules du fichier en cours,
- ouvre un nouveau fichier et formate la date pour créer un nom de fichier,
- colle toutes les cellules dans ce nouveau fichier,
- enregistre ce fichier avec le nom créé du genre "070515.xls".
Je n'ai donc plus besoin du fichier "caisse.xls" et je voudrais fermer excel
sans enregistrer les modifications puisqu'il est sauvé sous un autre nom.
J'arrive bien à fermer le classeur mais pas excel.
J'ai bien essayé plein de trucs glané sur ce forum mais rien à faire.

Merci d'avance pour vos solutions.
Dédé le Belge, dit Moustic
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #4509671
Salut moustic
As tu essayé de rajouter en fin de code l'instruction :

Application.Quit

Peut être ta solution
Dis moi !!!


Salut ta tous, par Toutatis!

Petit soucis pour fermer excel avec vba.
Pour tenir une caisse boisson au travail, dans un fichier nommé
"caisse.xls", j'ai créé une macro qui à l'ouverture:
- liste les fichiers du dossier courant,
- ouvre le dernier créé,
- sélectionne et copie des données,
- ferme ce fichier,
- colle les données dans "caisse.xls".
Et aussi une autre macro appelée par un bouton qui:
- sélectionne et copie toutes les cellules du fichier en cours,
- ouvre un nouveau fichier et formate la date pour créer un nom de fichier,
- colle toutes les cellules dans ce nouveau fichier,
- enregistre ce fichier avec le nom créé du genre "070515.xls".
Je n'ai donc plus besoin du fichier "caisse.xls" et je voudrais fermer excel
sans enregistrer les modifications puisqu'il est sauvé sous un autre nom.
J'arrive bien à fermer le classeur mais pas excel.
J'ai bien essayé plein de trucs glané sur ce forum mais rien à faire.

Merci d'avance pour vos solutions.
Dédé le Belge, dit Moustic


moustic
Le #4509611
Salut FFO et merci pour ta promptitude !

Oui bien sur. Voici le code du bouton "Fermer" du fichier "caisse.xls"

Sub Fermer()
ActiveWorkbook.Close SaveChanges:úlse
Application.Quit
End Sub

instructions que je pourrais inclure dans la procédure d'enregistrement pour
faire d'une pierre deux coups mais j'aime bien les boutons !!!
FFO
Le #4509531
Mais qu'attends tu de plus ???
Cette instruction doit suffir pour fermer Excel
N'est il pas ???


Salut FFO et merci pour ta promptitude !

Oui bien sur. Voici le code du bouton "Fermer" du fichier "caisse.xls"

Sub Fermer()
ActiveWorkbook.Close SaveChanges:úlse
Application.Quit
End Sub

instructions que je pourrais inclure dans la procédure d'enregistrement pour
faire d'une pierre deux coups mais j'aime bien les boutons !!!


cousinhub
Le #4509521
Bonjour moustic
Ayant fermer ton classeur, il ne peut plus effectuer d'autre ligne, non?
essaie dans le code This Workbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.Quit
End Sub

Peut-être (enfin, chez moi, cela fonctionne)

Salut FFO et merci pour ta promptitude !

Oui bien sur. Voici le code du bouton "Fermer" du fichier "caisse.xls"

Sub Fermer()
ActiveWorkbook.Close SaveChanges:úlse
Application.Quit
End Sub

instructions que je pourrais inclure dans la procédure d'enregistrement pour
faire d'une pierre deux coups mais j'aime bien les boutons !!!


moustic
Le #4509441
Eh que diable, en effet il devrait être mais voila, il n'est hélas pas!

Je suis obligé de cliquer sur le bouton de fermeture d'excel après fermeture
du classeur. C'est con d'avoir cogité autant pour faire tourner mon programme
et je confirme bien qu'il fonctionne correctement.

Cela ne viendrait-il pas du fait qu'un autre fichier aie été ouvert puis
fermé avec "ActiveWindow.Close" dans un premier temp puis modifier en
"ActiveWorkbook.Close" par la suite mais sans plus de résultat et aussi
ouverture d'un nouveau fichier et fermeture après enregistrement ?
Quelque chose ne reste-t-il pas actif ?
Dis-moi vite, je brule d'impatience ! et merci encore pour ton intervention.
Moustic
moustic
Le #4509381
Salut cousinhub

Effectivement, comme cela, ça va mieux !
J'avais bien tenté cette voie mais avec l'instruction "Me.Close
SaveChanges:úlse" récupérée sur un des sites souvent mentionné.

Merci beaucoup et bonne soirée à tous.

Moustic
Publicité
Poster une réponse
Anonyme