Logique Feuille_Existe

Bonjour

Voici une fonction personnalisée qui renvoie Vrai si un nom de feuille est déjà utilisé, utilisable avec une boucle d'incrémentation pour le nom de feuille.
Fonctionne pour vba et formule pour tout type de feuille (normal, graphique et dialogue), choix du classeur de test optionnel

Cordialement, @+
VB:
Function Feuille_Existe(NomFeuille$, Optional Choix_Classeur As Byte = 0, Optional Nom_Classeur$) As Boolean
    'Fonction Feuille_Existe V1.5 By Bernard_XLD, Excel toutes versions (non testé sur Mac)
    'renvoie Vrai si le nom de feuille est déja utilisé pour une feuille de tout type, par défaut dans le classeur contenant la fonction
    'Choix_Classeur = 0 ou omis -> classeur contenant la fonction, Thisworkbook
    'Choix_Classeur = 1 -> classeur actif
    'Choix_Classeur = 2 -> nom du classeur passé en argument
    On Error Resume Next
    Application.Volatile
    Dim Classeur_Ref As Workbook
    Select Case Choix_Classeur
    Case 1
        Set Classeur_Ref = ActiveWorkbook
    Case 2
        Set Classeur_Ref = Workbooks(Nom_Classeur)
        If Classeur_Ref Is Nothing Then On Error GoTo 0: Err.Raise 5 'si le classeur n'existe pas dans la collection workbooks, renvoie une erreur d'argument pouvant aussi être utilisée pour tester si un classeur est ouvert
    Case Else
        Set Classeur_Ref = ThisWorkbook
    End Select
    Feuille_Existe = Not Classeur_Ref.Sheets(NomFeuille) Is Nothing 'tout type de feuille, feuille standard, feuille graphique, feuille dialogue
End Function
 

Pièces jointes

  • Feuille_Existe.xlsm
    23.9 KB · Affichages: 7
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
315 131
Messages
2 116 573
Membres
112 792
dernier inscrit
Jean-Marc YOT