test sur l'existence d'une feuille

drone

XLDnaute Nouveau
Bonjour,
j'ai un classeur avec des noms de feuilles de ce type :

"NOM - TYPE"

j'ai créé une barre d'outil avec des boutons qui s'activent ou se désactivent suivant le "TYPE" à l'activation de chaque feuille (avec des macros dans workbook)
j'aimerais créer un nouveau "TYPE" mais qui ne sera pas présent pour toutes les feuilles. j'aimerais donc savoir comment faire un test sur l'existence d'un feuille nommée "NOM0 - TYPE0" ?

J'espère avoir été assez clair.
Merci d'avance.
 

thomlau

XLDnaute Occasionnel
Re : test sur l'existence d'une feuille

Bonjour Drone.

J'espère que ceci pourra t'aider...

Code:
Sub test()

Application.ScreenUpdating = False

If FeuilleExiste(ThisWorkbook, "NOM0 - TYPE0") Then
    
    Sheets("Feuil1").Select 'si la feuille existe, redirection vers....
    
Else
      
    Sheets("Feuil2").Select 'sinon redirection vers....
    
End If

Application.ScreenUpdating = true
End Sub
' A changer Feuil1 et Feuil2

A bientôt
 

excalibur

XLDnaute Impliqué
Re : test sur l'existence d'une feuille

bonjour drone thomlau le forum une autre approche
Sub aa()
Dim Ws As Worksheet
For Each Ws In Worksheets
If Ws.Name = "NOM0 - TYPE0" Then
MsgBox "Ce nom de feuille existe!": Exit Sub
Else
MsgBox "Ce nom de feuille existe pas !": Exit Sub
End If
Next Ws
End Sub
salutations
 

thomlau

XLDnaute Occasionnel
Re : test sur l'existence d'une feuille

Bonjour Drone, Excalibur, bonjour à tout le forum.
Je m'aperçois que j'avais oublié une fonction indispensable au bon fonctionnement du code.
Je rappelle que j'avais trouvé cette portion de code en effectuant une recherche dans ce magnifique forum.

Code à placer dans un module, module1 par exemple

Code:
Function FeuilleExiste(wk As Workbook, stFeuille) As Boolean
 On Error Resume Next
 FeuilleExiste = Not (wk.Sheets(stFeuille) Is Nothing)
End Function"		


Sub test()

Application.ScreenUpdating = False

If FeuilleExiste(ThisWorkbook, "NOM0 - TYPE0") Then
    
    Sheets("Feuil1").Select 'si la feuille existe, redirection vers....
    
Else
      
    Sheets("Feuil2").Select 'sinon redirection vers....
    
End If
' A changer Feuil1 et Feuil2

Application.ScreenUpdating = true

End Sub

et enfin, il reste ceci à placer dans ThisWorkBook
Code:
Private Sub Workbook_open()

    Module1.test

End Sub

ou dans une feuille...
Code:
Private Sub WorkSheet_activate()

    Module1.test

End Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 472
Messages
2 088 709
Membres
103 928
dernier inscrit
MIKETUAU