VBA Condition "Si la feuille existe" Alors...

Apprenti -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,

Dans ma macro, jai besoin de verrifier si la feuille "NOM" existe avant de continuer ma procedure, mais je ne sais pas comment cela s'ecrit en VBA, quelqu'un aurait-il une réponse?

Merci!

5 réponses

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Bonjour,

    Il n'est pas nécessaire de faire une boucle pour chercher si la feuille existe,
    il suffit de faire ceci :

    Function Feuille_Existe(ByVal Nom_Feuille As String) As Boolean
    Dim Feuille As Excel.Worksheet  
      On Error GoTo Feuille_Absente_Error
        Set Feuille = ActiveWorkbook.Worksheets(Nom_Feuille)
      On Error GoTo 0
      Feuille_Existe= True
    Exit Function
    
    Feuille_Absente_Error:
      Feuille_Existe= False
    End Function

    et pour l'utiliser :

    If Feuille_Existe("Feuil1") Then
    ou

    If Not Feuille_Existe("Feuil1") Then
    6
    1. Marc
       

      Bonjour, Patrice

      Merci beaucoup, Votre Fonction Pour tester

      si une feuille existe, fonctionne parfaitement

      C'est exactement ce dont j'avais besoin

      j'ai essayé de l'adapter pour un fonctionnement directement dans la Macro sans succès

      mais ce n'est pas très important, utilisé une fonction est finalement beaucoup

      plus pratique

      Encore Merci

      Cordialement

      0
    2. ccm81 Messages postés 11033 Statut Membre 2 434
       

      Bonjour à tous

      Un poil plus simple pour feuille_existe

      Public Function FeuilleExiste(nomf As String) As Boolean
      On Error Resume Next
      FeuilleExiste = Not (Sheets(nomf) Is Nothing)
      End Function

      Cdlmnt

      0