Effacer contenu d'un classeur lors de sa fermeture

  • Initiateur de la discussion Initiateur de la discussion EBL
  • 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 !

E

EBL

Guest
Bonjour le Forum,

Voici ma question.
J'ai crééer des formulaires en Access via lesquels il est possible d'exporter les résultats de querys vers des fichiers excel standard. Une fois exporter, un message apparaît disant que la personne utilisant est prié de sauvegarder le contenu en renommant le fichier dans l'un de ses folders (bref un détail )
Ma question est: Est-il possible de supprimer toutes les sheets sauf la "sheet d'accueil" lors de la fermeture du classeur excel?

Exemple:
Mon fichier contient 5 sheets:

Sheet 1, sheet 2, Sheet 3, sheet 4, Sheet 5 ==> A la fermeture du classeur je voudrais que les sheet 2,3,4,5 soient effacées et ce sans message d'avertissement ou de sauvegarde ou peu importe.

Merci à vous

Ebl
 
Re : Effacer contenu d'un classeur lors de sa fermeture

Bonjour EBL

Voici un code à mettre dans ThisWorkbook
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
For i = 2 To 5
Worksheets("Sheet" & i).Delete
Next i
ActiveWorkbook.Save
End Sub

@+
 
Re : Effacer contenu d'un classeur lors de sa fermeture

Salut,

Code a placer dans le module ThisWorkbook (penses à adapter le chemin d'enregistrement et le nom du classeur...) :
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Integer
Application.DisplayAlerts = False
For i = Sheets.Count To 1 Step -1
    If Not Sheets(i).Name = "sheet d'accueil" Then Sheets(i).Delete
Next i
ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\Admin\Bureau\Classeur2.xls"
Application.DisplayAlerts = True
End Sub

@+

Edition : De quelques secondes Sergio...
 
Re : Effacer contenu d'un classeur lors de sa fermeture

Rebonjour et merci pour vos solution,

Mais une autre question quand même, supposons que mes sheets soient nommées et non numérotées comment puis-je faire dans ce bout de code présenté plus haut?

Exemple: sheet 1= Ebl, sheet 2= forum excell, sheet 3= pentium, etc ...

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
For i = 2 To 5
Worksheets("Sheet" & i).Delete
Next i
ActiveWorkbook.Save
End Sub

Encore un grand merci

Ebl
 
Re : Effacer contenu d'un classeur lors de sa fermeture

Bonjour le fil,

Tes sheets n'ont pas besoin d'être numérotées dan ta saisie d'onglet. Chaque feuille est repérée par Excel en tant que feuille 1, 2, 3... Donc le code de Romain va fonctionner dans tous les cas.

Cordialement
 
Re : Effacer contenu d'un classeur lors de sa fermeture

Bonsoir,

Ok je comprends mieux. Donc peu importe le nom que l'on donne à nos sheets excel les considères comme sheet 1, 2, 3 etc ...
Un peu comme en Access quand on définit les cases à cocher?
Je présume qu'il commence à compter en partant de la gauche?
Et donc si je ne veux pas effacer la sheet 1 il me suffit de mettre :
De 2 à 8 par exemples?

Encore merci à vous

Ebl
 
Re : Effacer contenu d'un classeur lors de sa fermeture

Un grand merci à vous.

Maintenant une autre question quand même.
Si ce fichier est en Read Only, comment puis-je faire pour pouvoir exporter depuis access dans celui ci?

Bien à vous

Ebl
 
- 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

L
Réponses
5
Affichages
2 K
lumiexcel
L
M
Réponses
2
Affichages
8 K
mimi35garry
M
Retour