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

jmp77
Messages postés
1232
Date d'inscription
lundi 4 février 2002
Dernière intervention
4 octobre 2006
- 4 nov. 2005 à 13:33 - Dernière réponse : jmp77
Messages postés
1232
Date d'inscription
lundi 4 février 2002
Dernière intervention
4 octobre 2006
- 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

Meilleure réponse
jmp77
Messages postés
1232
Date d'inscription
lundi 4 février 2002
Dernière intervention
4 octobre 2006
- 4 nov. 2005 à 15:09
3
Merci
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.

Merci jmp77 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

jpleroisse
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Dernière intervention
11 mars 2006
- 4 nov. 2005 à 14:32
0
Merci
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.