Ne pas enregistrer un fichier

  • Initiateur de la discussion Initiateur de la discussion pedro_patatas
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

pedro_patatas

Guest
Salut à tous,

Dans un module j'ouvre un fichier texte (pour récuperer des infos). Quand je ferme le fichier Excel ouvre une boite de dialogue me demandant d'en registrer le fichier. Comment faire pour forcer à "NON".
De plus excel me demande si je souhaite conserver ce qui est utilisé dans le presse papier. La aussi, je souhaite répondre "NON". Mais comment.

Merci.
A+ Pedro
 
Salut pedro et le forum

A ma connaissance, bien mince, je crois que la solution est :

Application .displayAlerts = false
workbooks("fichier texte")=close
application.displayAlerts= true

La commande application.displayalerts supprime les messages
Bon courage
André
 
Bonjour André, Pedro, le Forum

Il n'est pas nécessaire d'utiliser le DisplayAlert pour ce genre d'opération.

Par contre là où Pedro aura des soucis c'est pour décider depuis où il doit mettre son code pour qu'il s'éxécute...

Soit depuis un Classeur qui sera ouvert et lançant (par un bouton par exemple) une procédure comme ceci :

Sub ClosingTXTWithoutSaving()
Application.CutCopyMode = False
Workbooks("XLD-Database-2004-Up-FEB-15.txt").Close False
End Sub

NB je pars ici du principe qu'on connait le nom du fichier TXT ouvert

Soit on ne connait pas les noms des "*.txt" et on veut tous les fermer et pour ce faire on peut utiliser un fichier "Personal.Xls" (Perso.xls en version FR je crois) qui sera dans le répertoire "XLStart" et l'on met ce genre de code dans ce "Personal.xls" (on peut aussi le mettre dans un classeur normal of course)

Sub CloseAllTxt()
Dim WB As Workbook

Application.CutCopyMode = False

For Each WB In Workbooks
If UCase(Right(WB.Name, 3)) = "TXT" Then WB.Close False
Next

End Sub


L'idée m'est venue de placer un code comme ceci dans le Private Module de ThisWorkBook dans une évènementielle "Before_Close" de ce "Personal.xls" pour espérer, qu'automatiquement en quittant Excel, çà se fasse tout seul mais non hélas çà ne passe pas. Donc il semble qu'il faille lancer cette procédure depuis un bouton. (ou un évènement en amont)

Pour le presse papier, normalement le CutCopyMode à False vide le Presse Papier généré par Excel donc tout dépend de la nature du "copié" (on peut par exemple faire copier une cellule vide par exemple avant si ce n'est pas Excel qui est à l'origine du presse papier)

Bon Appétit à tous et toutes
@+Thierry
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour