Voir si dans un TextBox, il y a des caractères inappropriés pour le nom d'un Classeur

YANN-56

XLDnaute Barbatruc
Bonsoir à ceux qui passeront par là,

J'utilise un USF pour créer un nouveau Classeur; son Nom sera celui écrit dans un TextBox1.

Je cherche donc, avant de lancer la procédure, à vérifier qu'il n'y a pas de caractères interdits dans ce dernier.
(A noter que je ne parle pas de vérification lors d'une saisie, car elle n'est pas manuelle)

Par exemple pour > :

Private Sub CommandButton1_Click()
If InStrRev(Me.TextBox1.Value, ">", -1) <> 0 Then
MsgBox "Présence de Caractères Interdits"
End If

Mais là; bonjour la page d'écriture avec la liste de ces interdits!!!:eek:

Je pense que le sujet à certainement été abordé et résolu. Mais je n'ai pas trouvé!

Si vous avez sous le coude une solution simple,

Merci par avance,

Yann
 

ERIC S

XLDnaute Barbatruc
Re : Voir si dans un TextBox, il y a des caractères inappropriés pour le nom d'un Cla

Bonsoir

tu peux peut-être utiliser la fonction asc, cela te permettrai de fonctionner avec des plages au lieu de lister les codes interdits
 

Efgé

XLDnaute Barbatruc
Re : Voir si dans un TextBox, il y a des caractères inappropriés pour le nom d'un Cla

Bonjour YANN-56 :), Bonjour ERIC S
J'avais trouvé, je ne sais plus ou, cette fonction qui nettoie les futurs noms de fichiers.
Si ça peux aider...
VB:
Function NomFichier(ByRef cellule As String) As String 'Isabelle
Dim CI As Variant, i As Integer
CI = Array("[", "]", "\", "/", "?", "*", ":")
NomFichier = cellule
For i = 0 To 6
      NomFichier = Application.Substitute(NomFichier, CI(i), "")
Next
End Function

Cordialement
 

YANN-56

XLDnaute Barbatruc
Re : Voir si dans un TextBox, il y a des caractères inappropriés pour le nom d'un Cla

Merci ERIC S d'avoir regardé,

Mais je dois avouer que la fonction "asc" m'est inconnue.

Je vais fouiller.

Encore Merci pour ta réponse,

Yann
 

YANN-56

XLDnaute Barbatruc
Re : Voir si dans un TextBox, il y a des caractères inappropriés pour le nom d'un Cla

Re,

Efgé:

Je n'avais pas vu ton post!

Cela va sans doute dans mon idée...... Je vais tester.

Merci à toi. Je ne manquerai pas de dire si cela fonctionne dans ma bidouille.

Amicalement,

Yann
 

ERIC S

XLDnaute Barbatruc
Re : Voir si dans un TextBox, il y a des caractères inappropriés pour le nom d'un Cla

Re

côté asc, c'est la récupération des codes ascii. chaque caractère a un code et par exemple chiffres et lettres se suivent en terme de codes. équivalent de la fonction CODE sous excel
 

YANN-56

XLDnaute Barbatruc
Re : Voir si dans un TextBox, il y a des caractères inappropriés pour le nom d'un Cla

Bonsoir Efgé:), ERIC S:), et à ceux qui passeront par ici,

J'ai toujours du mal à utiliser les fonctions, mais cela viendra certainement un jour.
Autant que la nature me prêtera vie, et que le VBA restera l'une de mes passions.

En attendant, j'ai bidouillé ceci à la hauteur de ma petite comprenette.
Code:
Private Sub CommandButton1_Click()
Dim CARACTERE As Variant
   For i = 1 To Len(Me.TextBox1.Text)
     CARACTERE = Mid(Me.TextBox1.Text, i, 1)
         Select Case CARACTERE
             Case "|", "<", ">", "?", ":", "*", """"
             MsgBox "Erreur dans le Nom"
             Exit Sub
         End Select
   Next i
MsgBox "Tout est O.K."
End Sub

Voir le Classeur joint.
Le "Case va être un peu copieux, mais en ne prenant pas en compte ce qu'un petit malin
entrerait avec "ALT + xxx" cela ne devrait pas nécessiter une litanie.

A moi de dresser la liste des caractères interdits pour la rédaction du nom d'un Classeur.:p

Merci à vous, j'ai beaucoup avancé.

Yann

P.S. Peut être que la gestion des interdits par les codes ASCII, comme le suggère Eric limiterait ce "Case",
mais il me semble compliqué de l'ajouter.
Je garde la Fonction d'Efgé dans mes archives, car peut-être un jour je pourrai simplifier mon code avec celle-ci.
 

Pièces jointes

  • TEST_TEXTBOX.xls
    28 KB · Affichages: 24
  • TEST_TEXTBOX.xls
    28 KB · Affichages: 27
  • TEST_TEXTBOX.xls
    28 KB · Affichages: 28

Discussions similaires

Réponses
8
Affichages
620

Statistiques des forums

Discussions
311 740
Messages
2 082 047
Membres
101 880
dernier inscrit
Anton_2024