Tester un nom de feuille

marie49

XLDnaute Occasionnel
Bonjour au forum,

Je recherche (si cela existe) une macro qui teste une chaine de caractères pour savoir si elle est valide ou non pour l'affecter à un nom de feuille. En fait je donne à l'utilisateur la possibilité de saisir le nom de la feuille dans une textbox d'un formulaire.

Je sais que le nom des feuilles ne doit pas dépasser 32 caractères mais je ne connais pas exactement les caractères non acceptés.

Quelqu'un peut-il m'aider? en me fournissant la liste des caractères non acceptés ou me diriger vers une macro existant déjà puisque EXCEL le fait dèjà en saisie directe du nom de la feuille.

Merci au forum
Marie

J'ai trouvé ça :
Private Sub TBCode_keypress(ByVal KeyAscii As MSForms.ReturnInteger)

On Error Resume Next
'Forcer la saisie en mjuscule
KeyAscii = Asc(UCase(Chr(KeyAscii)))
'Empêcher la saisie de certains caractères (il s'agit d'un nom de feuille)
If KeyAscii = Chr("/") Or KeyAscii = Chr(":") Then
KeyAscii = 0
End If
End If
End Sub
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Tester un nom de feuille

Bonjour Marie,

regarde les codes ci dessous si ils peuvent t'aider :

test lors de la saisie dans la "textbox" des caractères non autorisés, et
n'autorise pas plus de 31 caractères
Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr(":/\?*[]", Chr(KeyAscii)) <> 0 Or Len(TextBox1) > [B]30 [/B]Then KeyAscii = 0
End Sub

Test sur l'événement click d'un bouton, afin de s'assurer que la "textbox" n'est pas vide :
Code:
Private Sub CommandButton1_Click()
    If TextBox1.Value <> "" Then ActiveSheet.Name = TextBox1.Value
End Sub

la combinaison de ces tests devraient t'éviter des erreurs, attention un autre test peut être à réaliser, est que le nom de la feuille ne soit pas déjà utilisé dans le classeur...

bonne journée
@+
 

Discussions similaires

Réponses
8
Affichages
448
Réponses
3
Affichages
274