XL 2016 vérifier si feuille existe

KTM

XLDnaute Impliqué
Bonsoir chers tous.
Je voudrais depuis mon fichier actif "Classeur1" exécuter ma macro "M" sur la feuille "Liste" d'un autre fichier "Classeur2".
Mais avant je voudrais vérifier si la feuille "Liste" existe dans "Classeur2".
Merci
 

kiki29

XLDnaute Barbatruc
Salut, vite fait, à tester/adapter à ton contexte
VB:
Option Explicit

Private Function FeuilleExiste(sNomFeuille As String, Optional Wkb As Workbook = Nothing) As Boolean
Dim Ws As Worksheet
    FeuilleExiste = False
    If Wkb Is Nothing Then
        Set Wkb = ThisWorkbook
    End If
    For Each Ws In Wkb.Worksheets
        If Ws.Name = sNomFeuille Then
            FeuilleExiste = True
            Set Wkb = Nothing
            Exit For
        End If
    Next Ws
    Set Wkb = Nothing
End Function
 
Dernière édition:

KTM

XLDnaute Impliqué
Salut, vite fait, à tester/adapter à ton contexte
VB:
Option Explicit

Function FeuilleExiste(sNomFeuille As String, Optional Wkb As Workbook = Nothing) As Boolean
Dim Ws As Worksheet
    FeuilleExiste = False
    If Wkb Is Nothing Then
        Set Wkb = ThisWorkbook
    End If
    For Each Ws In Wkb.Worksheets
        If Ws.Name = sNomFeuille Then
            FeuilleExiste = True
            Set Wkb = Nothing
            Exit For
        End If
    Next Ws
    Set Wkb = Nothing
End Function
Merci.
Ce code fonctionne sur le classeur actif mais dans mon cas la feuille à vérifier est sur un autre classeur.
 

kiki29

XLDnaute Barbatruc
Re, et ceci est là pour quoi ?
Code:
Optional Wkb As Workbook = Nothing

Arrête de fonctionner par psittacisme, et de recopier un code qui en plus a été modifié !

VB:
Sub Tst()
Dim NomFeuille As String
Dim Wkb As Workbook

    On Error Resume Next
    NomFeuille = "Liste"
    Set Wkb = Workbooks("Classeur2.xlsm")

    If FeuilleExiste(NomFeuille, Wkb) Then
        MsgBox NomFeuille & " existe"
    Else
        MsgBox NomFeuille & " n'existe pas"
    End If

    Set Wkb = Nothing
End Sub
 
Dernière édition:

KTM

XLDnaute Impliqué
Re, et ceci est là pour quoi ?
Code:
Optional Wkb As Workbook = Nothing

Arrête de fonctionner par psittacisme, et de recopier un code qui en plus a été modifié !

VB:
Sub Tst()
Dim NomFeuille As String
Dim Wkb As Workbook

    On Error Resume Next
    NomFeuille = "Liste"
    Set Wkb = Workbooks("Classeur2.xlsm")

    If FeuilleExiste(NomFeuille, Wkb) Then
        MsgBox NomFeuille & " existe"
    Else
        MsgBox NomFeuille & " n'existe pas"
    End If

    Set Wkb = Nothing
End Sub
Merci infiniment !!
 

Discussions similaires

Réponses
2
Affichages
133

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino