Feuille existe dans le classeur?

Feuille existe dans le classeur? - VB/VBA/VBS - Programmation

Marsh Posté le 10-12-2007 à 20:37:28    

bonjour,  
 
Je vous sollicite après de nombreuses recherches...  
Ma question est simple, connaissez vous le code pour savoir si une feuille existe dans un classeur? Si oui, la supprimer, sinon, ne rien faire.
 
Ceci sert lorsque les utilisateurs de ma macro ont oublié de supprimer des feuilles générées. D'où; lors d'une future utilisation de la macro, il y a des problemes de nom au niveau des feuilles...
 
Je vous remercie !


Message édité par Bobslebreton le 10-12-2007 à 22:52:11
Reply

Marsh Posté le 10-12-2007 à 20:37:28   

Reply

Marsh Posté le 10-12-2007 à 23:02:41    

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
Reply

Marsh Posté le 11-12-2007 à 20:44:40    

merci pour tout, ca marche impec!  A+ :hello:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed