Vider feuille Excel à la fermeture d'une macro
thesentry
Messages postés
1014
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'aimerai vider une feuille Excel à la fermeture de la macro.
J'ai, dans ThisWorkBook :
Mais ça ne fonctionne pas ! Pourtant, quand j'associe ça à un CommandButton, ça fonctionne...
Une idée ? Merci
j'aimerai vider une feuille Excel à la fermeture de la macro.
J'ai, dans ThisWorkBook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Sheets("suivi").Range("A1:Z100").ClearContents
End Sub
Mais ça ne fonctionne pas ! Pourtant, quand j'associe ça à un CommandButton, ça fonctionne...
Une idée ? Merci
A voir également:
- Vider feuille Excel à la fermeture d'une macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Déplacer une colonne excel - Guide
- Aller à la ligne excel - Guide
4 réponses
Bonjour,
Ce n'est pas bien clair !!!
Là c'est la fermeture du fichier qui déclenche la ligne
Voilà comment je ferais si je devais, dans mon code effacer des plages:
;0)
Ce n'est pas bien clair !!!
Là c'est la fermeture du fichier qui déclenche la ligne
ThisWorkbook.Sheets("suivi").Range("A1:Z100").ClearContents
Voilà comment je ferais si je devais, dans mon code effacer des plages:
Public Sub EffacePlage(ByRef plage As Range) plage.ClearContents End Sub Sub MaMacro() ' Mon code .... ' Efface la plage (A1: Z100) de la feuille "suivi" Dim mPlage As Range Set mPlage = ThisWorkbook.Sheets("suivi").Range("A1:Z100") Call EffacePlage(mPlage) Set mPlage = Nothing ' Efface la plage (M10: V100) de la feuille "Temp" Set mPlage = ThisWorkbook.Sheets("Temp").Range("M10:V100") Call EffacePlage(mPlage) Set mPlage = Nothing End Sub
;0)
Bonjour Polux31,
c'est bien a la fermeture du fichier que la plage de l'onglet suivi doit etre "razee"
Thesentry, avez-vous essaye ce que j'ai ecrit Lien (#8)
c'est bien a la fermeture du fichier que la plage de l'onglet suivi doit etre "razee"
Thesentry, avez-vous essaye ce que j'ai ecrit Lien (#8)
Re,
Vous ne devriez pas vous facher ainsi, car loin de nous cette idee d'en remontrer a qui que ce soit,
vu que nous avons tous debute un jour et comme vous avoir quelque peu galere.
Si je fais toujours parti de ceux qui peuvent vous entretenir sur votre sujet, lisez la suite
Lien (#8)
Le but de cette manip est de voir si a la fermeture de votre fichier, le pointeur de programme passe bien dans le module Thsiworkbook et traite l'evenement:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
exemple de code:
https://www.cjoint.com/?DBmlVtwwSKe
ouvrez le fichier, remplissez des cases zone A1 a K20, fermez le fichier, enregistrez et ouvrez de nouveau le fichier
A+ si vous le voulez ...
Vous ne devriez pas vous facher ainsi, car loin de nous cette idee d'en remontrer a qui que ce soit,
vu que nous avons tous debute un jour et comme vous avoir quelque peu galere.
Si je fais toujours parti de ceux qui peuvent vous entretenir sur votre sujet, lisez la suite
Lien (#8)
Le but de cette manip est de voir si a la fermeture de votre fichier, le pointeur de programme passe bien dans le module Thsiworkbook et traite l'evenement:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
exemple de code:
https://www.cjoint.com/?DBmlVtwwSKe
ouvrez le fichier, remplissez des cases zone A1 a K20, fermez le fichier, enregistrez et ouvrez de nouveau le fichier
A+ si vous le voulez ...
Bonjour f894009,
J'ai dit Voilà comment je ferais si je devais, dans mon code effacer des plages. Je ne parle pas de la fermeture du fichier.
Le premier énoncé du problème n'est ni clair, ni suffisamment explicite.
j'aimerai vider une feuille Excel à la fermeture de la macro.
Et le code se trouve dans Workbook_BeforeClose.
J'ai donné une façon de faire pour appeler la procédure EffacePlage n'importe où dans le code. Ce qui est quand même pas trop compliqué à mettre en place.
Chez moi ça fonctionne, j'ai bien le message de confirmation de sauvegarde des modif avant la fermeture.
J'ai dit Voilà comment je ferais si je devais, dans mon code effacer des plages. Je ne parle pas de la fermeture du fichier.
Le premier énoncé du problème n'est ni clair, ni suffisamment explicite.
j'aimerai vider une feuille Excel à la fermeture de la macro.
Et le code se trouve dans Workbook_BeforeClose.
J'ai donné une façon de faire pour appeler la procédure EffacePlage n'importe où dans le code. Ce qui est quand même pas trop compliqué à mettre en place.
Chez moi ça fonctionne, j'ai bien le message de confirmation de sauvegarde des modif avant la fermeture.
Bon, je vais le répéter pour les personnes qui ont un peu de mal à intégrer certaines choses et qui commencent un peu à me gonfler à me prendre de haut comme ça :
Le VBA, je n'en ai jamais fait, je n'ai jamais eu de cours dessus et jusqu'à il y a 3 mois, je ne connaissais même pas l'existence de ce langage. J'ai un projet d'entreprise dans lequel je dois développer un mini ERP en VBA.
Le net regorge de petits cours ici et là, de petits tutos...certes. Mais quand tu n'as pas la logique de programmation, la logique VBA et que de base, l'informatique n'est pas du tout ton domaine professionnel, au bout d'un moment, tu t'embourbes.
De là te viens une idée géniale : user des technologies de nos jours et solliciter des personnes sur des forums. Mais sans compter sur une brochette de petits rigolos qui pètent plus haut que leur c*l sous prétexte sur le VBA est monnaie courante pour eux. Ben excusez moi, mais ce n'est pas mon cas.
Maintenant, pour éviter à l'avenir les réponses hautaines de certaines personnes, je les invite à retenir mon pseudo et à ne plus participer à mes topics (et je ne citerai pas de pseudo...sauf peut être toi Polux).
Merci d'avance !
TS
Le VBA, je n'en ai jamais fait, je n'ai jamais eu de cours dessus et jusqu'à il y a 3 mois, je ne connaissais même pas l'existence de ce langage. J'ai un projet d'entreprise dans lequel je dois développer un mini ERP en VBA.
Le net regorge de petits cours ici et là, de petits tutos...certes. Mais quand tu n'as pas la logique de programmation, la logique VBA et que de base, l'informatique n'est pas du tout ton domaine professionnel, au bout d'un moment, tu t'embourbes.
De là te viens une idée géniale : user des technologies de nos jours et solliciter des personnes sur des forums. Mais sans compter sur une brochette de petits rigolos qui pètent plus haut que leur c*l sous prétexte sur le VBA est monnaie courante pour eux. Ben excusez moi, mais ce n'est pas mon cas.
Maintenant, pour éviter à l'avenir les réponses hautaines de certaines personnes, je les invite à retenir mon pseudo et à ne plus participer à mes topics (et je ne citerai pas de pseudo...sauf peut être toi Polux).
Merci d'avance !
TS
N'inverse pas les rôles pour essayer de passer pour une victime.
Le demandeur ici, c'est toi et pas nous.
On essaye de t'aider et on aimerait bien ne pas être obligé de faire le boulot à ta place, ce qui ne te servirai à rien. Il y a des pistes qui te sont données et où il n'y a aucun retour de ta part.
Maintenant que tu prennes ça bien ou mal, ça ne me fait ni chaud ni froid.
Le demandeur ici, c'est toi et pas nous.
On essaye de t'aider et on aimerait bien ne pas être obligé de faire le boulot à ta place, ce qui ne te servirai à rien. Il y a des pistes qui te sont données et où il n'y a aucun retour de ta part.
Maintenant que tu prennes ça bien ou mal, ça ne me fait ni chaud ni froid.
Quand je dis la fermeture de la macro, c'est en cliquant sur la croix, en haut à droite...
Croix fermeture classeur .....
Ben:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Sheets("suivi").Range("A1:Z100").ClearContents
End Sub
Vous avez plusieurs classeurs ouverts ????