Soir Bon, pour l'existence d'une feuille
Option Explicit
Private Function FeuilleExiste(ByVal sNomFeuille As String) As Boolean
On Error Resume Next
FeuilleExiste = Sheets(sNomFeuille).Name <> ""
Err.Clear
End Function
Sub FeuilleExiste_Tst()
Dim NomFeuille As String
NomFeuille = "Feuil1"
If FeuilleExiste(NomFeuille) Then
' Il doit rester au moins 1 feuille
' sinon erreur 1004
On Error Resume Next
' On detruit sans message d'alerte
Application.DisplayAlerts = False
Sheets(NomFeuille).Delete
Application.DisplayAlerts = True
Else
Exit Sub
End If
End Sub
|
Un conseil si tu ne veux pas avoir de plantage dans tes macros suite à un renommage intempestif de feuilles ( nom d'onglet changé par les utilisateurs )
Donc sous VBE [F4] pour voir la fenêtre des propriétés
Nommée ta feuille dans la propriété (name) par exemple en ShDatas
et utiliser ce nom dans les macros, l'autre name ,plus bas, est le nom d'onglet
C'est surtout valable pour les feuilles "fixes".
Si par hasard l'on veut détruire de façon certaine cette feuille ShDatas qq soit son nom d'onglet
on utilisera
.....
NomFeuille = ShDatas.Name
..... |
Message édité par kiki29 le 11-12-2007 à 04:44:01