worksheet_Beforedelete

GS82

XLDnaute Occasionnel
est ce qu'on peut déclencher un événements chaque fois ou une feuille est supprimée?(comme beforeclose ou before save, un truc before delete...)
 

tototiti2008

XLDnaute Barbatruc
Re : worksheet_Beforedelete

re,

une alternative à tester pour détecter la suppression d'une feuille (à mettre dans ThisWorkbook)



Code:
Public derf As String
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
 If Not FeuilleExiste(derf) Then MsgBox "la feuille " & derf & " a été supprimée"
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    derf = Sh.Name
End Sub
Function FeuilleExiste(NomF As String) As Boolean
Dim MaVar
    On Error GoTo fin
    FeuilleExiste = False
    Set MaVar = Sheets(NomF)
    FeuilleExiste = True
    Exit Function
fin:
End Function

Edit : ahh, oui mais toi tu voulais Before delete, et là c'est un peu tard, elle est déjà supprimée...
 
Dernière édition:

GS82

XLDnaute Occasionnel
Re : worksheet_Beforedelete

bonjour tototiti2008
on fait ma problématique est que j'ai un programme qui ajoute des feuilles qui renferment des données et entre a chaque création de nouvelle feuille il y une insertion d'un ensemble de noms (menu insertion/nom/definir...) qui se fait automatiquement (car j'ai un objet charts dans chaque feuille qui va y faire appel, ça c'est une autre histoire;)....)
bref
je veux que chaque fois ou je supprime une de ces feuilles, l'ensemble de ces noms disparaissent avec elle !!
en ce qui concerne la création j'ai fait ceci
Sub CM()
ActiveSheet.Select
'Machines1
k = ActiveSheet.Range("C3").Value

ActiveWorkbook.Names.Add Name:=k, RefersToR1C1:= _
"=OFFSET(R101C8,0,0,COUNTA(R101C8:R120C8)-1)"
'Machines2
k = ActiveSheet.Range("D3").Value

ActiveWorkbook.Names.Add Name:=k, RefersToR1C1:= _
"=OFFSET(R101C9,0,0,COUNTA(R101C9:R120C9)-1)"
'Machines3
k = ActiveSheet.Range("E3").Value

ActiveWorkbook.Names.Add Name:=k, RefersToR1C1:= _
"=OFFSET(R101C10,0,0,COUNTA(R101C10:R120C10)-1)"
'Machines4
k = ActiveSheet.Range("F3").Value

ActiveWorkbook.Names.Add Name:=k, RefersToR1C1:= _
"=OFFSET(R101C11,0,0,COUNTA(R101C8:R120C11)-1)"

End Sub
et j'insert je fait application.run("CM") dans le module de création des nouvelles feuilles.

mais pour les supprimer lors de la suppression d'une de ces feuilles, je sais pas comment faire !!!
Merci et a plus
 

GS82

XLDnaute Occasionnel
Re : worksheet_Beforedelete

salut tititoto2008 (je prenais mon dejeuner)
ok je vais voire je crois que ca devrait marcher !!
il faut juste que je sauvegarde les noms des listes associés à la feuille supprimée quelque part :)
 

Discussions similaires

Réponses
4
Affichages
239
Réponses
2
Affichages
252

Statistiques des forums

Discussions
312 613
Messages
2 090 233
Membres
104 460
dernier inscrit
Özlem