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, @+
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
Dernière édition: