Ne pas enregistrer un fichier

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
 
A

André

Guest
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é
 
@

@+Thierry

Guest
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
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 611
Messages
2 090 226
Membres
104 453
dernier inscrit
benjiii88