Efgé
XLDnaute Barbatruc
Bonjour à tous 🙂
Comme le sujet "renommer les onglets" est réccurent sur le forum, je propose une fonction qui rend une chaine de caractère valide pour un nom d'onglet :
Pas de caractère interdit
Longueur maximale de 30 caractères
Si le nom est "vide" création d'un numéro unique basé sur la date et l'heure.
En espérant que cela sera utile pour les "chercheurs"
Le code est commenté dans l'exemple.
Cordialement
Comme le sujet "renommer les onglets" est réccurent sur le forum, je propose une fonction qui rend une chaine de caractère valide pour un nom d'onglet :
Pas de caractère interdit
Longueur maximale de 30 caractères
Si le nom est "vide" création d'un numéro unique basé sur la date et l'heure.
En espérant que cela sera utile pour les "chercheurs"
Le code est commenté dans l'exemple.
VB:
Function SheetName(ByRef Nom As String) As String
Dim Interdits(), i%, T!
T = Timer
Interdits = Array("[", "]", "\", "/", "?", "*", ":")
Nom = Trim(Nom)
For i = LBound(Interdits) To UBound(Interdits)
Nom = Replace(Nom, Interdits(i), "")
Next
If Len(Nom) > 30 Then Nom = Left(Nom, 30)
If Len(Nom) = 0 Then
Do
Loop While Timer < T + 0.01
Nom = Format(Date, "yymmdd") & Replace(Timer, Application.International(3), "")
End If
SheetName = Nom
End Function
Cordialement