VBA - Evenement lors de la suppression d'une feuille. [Résolu]

jmp77 1232 Messages postés lundi 4 février 2002Date d'inscription 4 octobre 2006 Dernière intervention - 4 nov. 2005 à 13:33 - Dernière réponse : jmp77 1232 Messages postés lundi 4 février 2002Date d'inscription 4 octobre 2006 Dernière intervention
- 4 nov. 2005 à 15:09
Bonjour,



Voilà je souhaiterait pouvoir lancer une action
quand une feuille est détruite dans mon classeur excel mais je n'y
arrive pas. Est ce que quelqu'un saurait quoi faire svp?

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Afficher la suite 

2 réponses

jmp77 1232 Messages postés lundi 4 février 2002Date d'inscription 4 octobre 2006 Dernière intervention - 4 nov. 2005 à 15:09
+3
Utile
Merci de ta réponse mais en réalité ce que je veux faire c'est
déclencher un evenement quand l'utilisateur supprime manuellement une
feuille dans le classeur.



Mais c'est bon j'ai trouvé ici :

http://frederic.sigonneau.free.fr/code/Feuilles/FeuillesSupprimeesAjoutees.txt


Juste une erreur dans ce code il faut inverser les blocs comme ceci
sinon le code renvoi toujours que la feuille est ajouté meme si en
réalité elle vient d'être détruite :

'Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'Dim N As Integer

'For N = 1 To UBound(CurrSheets)
' If SheetExists(CurrSheets(N)) = False Then
' MsgBox "Sheet deleted: " & CurrSheets(N)
' #If VBA6 Then
' RaiseEvent SheetDeleted(CurrSheets(N))
' #End If
' LoadArray
' Exit Sub
' End If
'Next N

'If Me.Worksheets.Count <> UBound(CurrSheets) Then
' LoadArray
' MsgBox "Sheet Added: " & Sh.Name
' #If VBA6 Then
' RaiseEvent SheetInserted(Sh)
' #End If
' Exit Sub
'End If

'End Sub



Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Cette réponse vous a-t-elle aidé ?  
jpleroisse 1788 Messages postés mardi 7 novembre 2000Date d'inscription 11 mars 2006 Dernière intervention - 4 nov. 2005 à 14:32
0
Utile
Bonjour,

Dans cet exemple je supprime la feuille 3 et lance la macro MaMacro si
ton classeur porte un nom, met le nom de ton classeur à la place de
Classeur1



Sub DelFeuille()

Sheets("Feuil3").Select

Application.DisplayAlerts = False

ActiveWindow.SelectedSheets.Delete

Application.Run "Classeur1!MaMacro"

End Sub



Sub MaMacro()

MsgBox "Bonjour"

End Sub



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.