Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 :
 
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
@+
 

marie49

XLDnaute Occasionnel
Re : Tester un nom de feuille

bonjour Pierrot93

Juste un mot : SUPER!

ça marche.

Les cas du "nom vide" ou "existant déjà", je les avais déjà pris en compte...


Encore un grand merci à ce forum



Marie
 

Cousinhub

XLDnaute Barbatruc
Re : Tester un nom de feuille

Bonjour,

Bonjour, Pierrot

@Pierrot, en plus de tous ces caractères, il y a une autre condition, le nom de l'onglet ne doit pas finir par ' (apostrophe). On peut le mettre au milieu, mais pas à la fin......
 

marie49

XLDnaute Occasionnel
Re : Tester un nom de feuille

Bonjour à tous les deux,

Voilà ce que je propose pour l'apostrophe à la fin :

Private Sub TBCode_afterupdate()


If Right(TBCode.Value, 1) = "'" Then
TBCode.Value = Left(TBCode.Value, Len(TBCode.Value) - 1)

End If
End Sub

Marie
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…