Mon interrogation est la suivante :
Comment d=E9clencher une macro lorsque je supprime une=20
feuille ? Autrement dit, ou est ce que je peux mettre du=20
code sur l'evenement suppression feuille ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Thomas,
Voici la façon simple :
Dans le haut d'un module Standard : Déclaration d'une variable public
Public Nb as integer 'Compte le nombre de "Feuilles de Calcul" du classeur
Dans le ThisWorkbook de ton projet :
à l'ouverture du fichier : initialisation de la variable Nb Ici j'ai utilisé Worksheets... si tu veux inclure aussi les feuilles graphique ...etc utilise plutôt Nb = Sheets.count , et pour l'autre procédure aussi...
'--------------------- Private Sub Workbook_Open() Nb = Worksheets.Count End Sub '---------------------
'------------------------ Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Worksheets.Count < Nb Then Nb = Worksheets.Count MaMacro Else Nb = Worksheets.Count End If End Sub '------------------------
Et dans un module standard :
'------------------------------ Sub MaMacro() MsgBox "Une ou des feuilles ont été supprimées." end sub '------------------------------
Voilà,
Salutations!
"thomas" a écrit dans le message de news:08ed01c34222$ceafe0e0$ Bonjour à tous,
Mon interrogation est la suivante : Comment déclencher une macro lorsque je supprime une feuille ? Autrement dit, ou est ce que je peux mettre du code sur l'evenement suppression feuille ?
Merci à vous ! ThomaS.
Bonjour Thomas,
Voici la façon simple :
Dans le haut d'un module Standard : Déclaration d'une variable public
Public Nb as integer 'Compte le nombre de "Feuilles de Calcul" du classeur
Dans le ThisWorkbook de ton projet :
à l'ouverture du fichier : initialisation de la variable Nb
Ici j'ai utilisé Worksheets... si tu veux inclure aussi les feuilles graphique ...etc
utilise plutôt Nb = Sheets.count , et pour l'autre procédure aussi...
'---------------------
Private Sub Workbook_Open()
Nb = Worksheets.Count
End Sub
'---------------------
'------------------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Worksheets.Count < Nb Then
Nb = Worksheets.Count
MaMacro
Else
Nb = Worksheets.Count
End If
End Sub
'------------------------
Et dans un module standard :
'------------------------------
Sub MaMacro()
MsgBox "Une ou des feuilles ont été supprimées."
end sub
'------------------------------
Voilà,
Salutations!
"thomas" <thomas.berson@ifrance.com> a écrit dans le message de news:08ed01c34222$ceafe0e0$a501280a@phx.gbl...
Bonjour à tous,
Mon interrogation est la suivante :
Comment déclencher une macro lorsque je supprime une
feuille ? Autrement dit, ou est ce que je peux mettre du
code sur l'evenement suppression feuille ?
Dans le haut d'un module Standard : Déclaration d'une variable public
Public Nb as integer 'Compte le nombre de "Feuilles de Calcul" du classeur
Dans le ThisWorkbook de ton projet :
à l'ouverture du fichier : initialisation de la variable Nb Ici j'ai utilisé Worksheets... si tu veux inclure aussi les feuilles graphique ...etc utilise plutôt Nb = Sheets.count , et pour l'autre procédure aussi...
'--------------------- Private Sub Workbook_Open() Nb = Worksheets.Count End Sub '---------------------
'------------------------ Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Worksheets.Count < Nb Then Nb = Worksheets.Count MaMacro Else Nb = Worksheets.Count End If End Sub '------------------------
Et dans un module standard :
'------------------------------ Sub MaMacro() MsgBox "Une ou des feuilles ont été supprimées." end sub '------------------------------
Voilà,
Salutations!
"thomas" a écrit dans le message de news:08ed01c34222$ceafe0e0$ Bonjour à tous,
Mon interrogation est la suivante : Comment déclencher une macro lorsque je supprime une feuille ? Autrement dit, ou est ce que je peux mettre du code sur l'evenement suppression feuille ?
Merci à vous ! ThomaS.
thomas
Merci pour ton aide. Je teste de suite.
-----Message d'origine----- Bonjour Thomas,
Voici la façon simple :
Dans le haut d'un module Standard : Déclaration d'une variable public
Public Nb as integer 'Compte le nombre de "Feuilles de Calcul" du classeur
Dans le ThisWorkbook de ton projet :
à l'ouverture du fichier : initialisation de la variable Nb
Ici j'ai utilisé Worksheets... si tu veux inclure aussi les feuilles graphique ...etc
utilise plutôt Nb = Sheets.count , et pour l'autre procédure aussi...
'--------------------- Private Sub Workbook_Open() Nb = Worksheets.Count End Sub '---------------------
'------------------------ Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Worksheets.Count < Nb Then Nb = Worksheets.Count MaMacro Else Nb = Worksheets.Count End If End Sub '------------------------
Et dans un module standard :
'------------------------------ Sub MaMacro() MsgBox "Une ou des feuilles ont été supprimées." end sub '------------------------------
Voilà,
Salutations!
"thomas" a écrit dans le message de news:08ed01c34222$ceafe0e0$
Bonjour à tous,
Mon interrogation est la suivante : Comment déclencher une macro lorsque je supprime une feuille ? Autrement dit, ou est ce que je peux mettre du code sur l'evenement suppression feuille ?
Merci à vous ! ThomaS.
.
Merci pour ton aide. Je teste de suite.
-----Message d'origine-----
Bonjour Thomas,
Voici la façon simple :
Dans le haut d'un module Standard : Déclaration d'une
variable public
Public Nb as integer 'Compte le nombre de "Feuilles de
Calcul" du classeur
Dans le ThisWorkbook de ton projet :
à l'ouverture du fichier : initialisation de la variable
Nb
Ici j'ai utilisé Worksheets... si tu veux inclure aussi
les feuilles graphique ...etc
utilise plutôt Nb = Sheets.count , et pour l'autre
procédure aussi...
'---------------------
Private Sub Workbook_Open()
Nb = Worksheets.Count
End Sub
'---------------------
'------------------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Worksheets.Count < Nb Then
Nb = Worksheets.Count
MaMacro
Else
Nb = Worksheets.Count
End If
End Sub
'------------------------
Et dans un module standard :
'------------------------------
Sub MaMacro()
MsgBox "Une ou des feuilles ont été supprimées."
end sub
'------------------------------
Voilà,
Salutations!
"thomas" <thomas.berson@ifrance.com> a écrit dans le
message de news:08ed01c34222$ceafe0e0$a501280a@phx.gbl...
Bonjour à tous,
Mon interrogation est la suivante :
Comment déclencher une macro lorsque je supprime une
feuille ? Autrement dit, ou est ce que je peux mettre du
code sur l'evenement suppression feuille ?
Dans le haut d'un module Standard : Déclaration d'une variable public
Public Nb as integer 'Compte le nombre de "Feuilles de Calcul" du classeur
Dans le ThisWorkbook de ton projet :
à l'ouverture du fichier : initialisation de la variable Nb
Ici j'ai utilisé Worksheets... si tu veux inclure aussi les feuilles graphique ...etc
utilise plutôt Nb = Sheets.count , et pour l'autre procédure aussi...
'--------------------- Private Sub Workbook_Open() Nb = Worksheets.Count End Sub '---------------------
'------------------------ Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Worksheets.Count < Nb Then Nb = Worksheets.Count MaMacro Else Nb = Worksheets.Count End If End Sub '------------------------
Et dans un module standard :
'------------------------------ Sub MaMacro() MsgBox "Une ou des feuilles ont été supprimées." end sub '------------------------------
Voilà,
Salutations!
"thomas" a écrit dans le message de news:08ed01c34222$ceafe0e0$
Bonjour à tous,
Mon interrogation est la suivante : Comment déclencher une macro lorsque je supprime une feuille ? Autrement dit, ou est ce que je peux mettre du code sur l'evenement suppression feuille ?