Macro a executer sur feuille que l on quitte

reve24

XLDnaute Occasionnel
bonjour

je souhaiterais executer la macro ("tout") dans le module sur la feuille 3 que je quitte et non celle que j'active

je fais

Private Sub Worksheet_Activate() ' En activant la feuille.
tout
End Sub

Private Sub Worksheet_Deactivate() ' En quittant la feuille.

End Sub

et inverse ne fonctionne pas non plus
mais cela efface toujours celle que j active
Pourquoi

merci d avance
 

Pièces jointes

  • effacer macro.xlsm
    15.4 KB · Affichages: 41

Staple1600

XLDnaute Barbatruc
Re : Macro a executer sur feuille que l on quitte

Bonsoir à tous___________________________EDITION: Bonsoir JCGL, effectivement ;)



A mettre dans ThisWorkBook (pas dans un module)
Code:
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If Sh.Name Like "Feuil3" Then
With Sh.Range("A1:Z6500")
    .ClearContents
    .FormatConditions.Delete
End With
End If
End Sub
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Macro a executer sur feuille que l on quitte

Bonjour à tous,

Un peu plus court :

Code:
Private Sub Workbook_SheetDeactivate(ByVal F As Object)
If F.Name Like "Feuil3" Then F.Range("A1:Z6500").Clear
End Sub

A+ à tous
 

Dranreb

XLDnaute Barbatruc
Re : Macro a executer sur feuille que l on quitte

Bonsoir.

Je pense que j'aurais peut être plutôt fait comme ça :
VB:
Sub Tout(ByVal F As Worksheet)
F.UsedRange.Clear
End Sub
Et puis :
VB:
Option Explicit

Private Sub Worksheet_Deactivate()
Tout Me
End Sub
Enfin dans le principe, tout au moins, si en vrai c'est plus compliqué dans Tout, sinon :
VB:
Private Sub Worksheet_Deactivate()
Me.UsedRange.Clear
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 276
Messages
2 086 711
Membres
103 377
dernier inscrit
fredy45