Sub a()
Dim NomFeuille As String
Dim x As Integer
NomFeuille = "21/01/2024"
GoSub CheckNomFeuille
NomFeuille = Replace(NomFeuille, "/", "-")
GoSub CheckNomFeuille
Exit Sub
CheckNomFeuille:
x = VérifierNomFeuille(NomFeuille)
If x = 0 Then
MsgBox "Le nom de la feuille """ & NomFeuille & """ est correct !"
Else
MsgBox "Le nom de la feuille """ & NomFeuille & """ contient un caractère interdit en position " & x & " !"
End If
Return
End Sub
'---------------------------------------------------------------
'Vérifier si un nom de feuille contient des caractères interdits
'---------------------------------------------------------------
Function VérifierNomFeuille(NomFeuille As String) As Integer
Dim TabCaractèresInterdits() As String
Dim i As Integer
Dim k As Integer
'
Const ListeCaractèresInterdits = "\,/,"",*,[,],:,?"
TabCaractèresInterdits = Split(ListeCaractèresInterdits, ",")
For i = LBound(TabCaractèresInterdits) To UBound(TabCaractèresInterdits)
k = InStr(NomFeuille, TabCaractèresInterdits(i))
If Not k = 0 Then Exit For
Next i
If i <= UBound(TabCaractèresInterdits) Then
VérifierNomFeuille = k
Else
VérifierNomFeuille = 0
End If
End Function