Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

caractères interdits

4 réponses
Avatar
Rémi
Bonjour tout le monde,
Je souhaiterais interdire dans la saisie de deux textbox tous les caractères
interdits d'enregistrement de fichier, c'est à dire / \ * | ? : < > " (je ne
sais pas si j'en oublies). En effet, ces deux textbox me servent à
enregistrer le fichier sous le nom de la commande.
Si quelqu'un peut éclairer ma lanterne, merci d'avance
Rémi

4 réponses

Avatar
docm
Bonjour Rémi.

Voilà qui interdit certains caractères, qu'ils soient issus d'une touche du
clavier ou encore d'un Copier/Coller.

Private Sub TextBox1_Change()
p = TextBox1.SelStart

Interdits = "/*|?:<>" & Chr(34)

x = TextBox1.Value
For i = 1 To Len(Interdits)
While InStr(x, Mid(Interdits, i, 1)) > 0

b = InStr(x, Mid(Interdits, i, 1))
x = Mid(x, 1, b - 1) & Mid(x, b + 1)

cpt = cpt + 1
Wend
Next

If cpt > 0 Then
MsgBox "Caractères interdits : " & Interdits
TextBox1.Value = x
TextBox1.SelStart = p - cpt
End If

End Sub


docm


"Rémi" wrote in message
news:
Bonjour tout le monde,
Je souhaiterais interdire dans la saisie de deux textbox tous les
caractères

interdits d'enregistrement de fichier, c'est à dire / * | ? : < > " (je
ne

sais pas si j'en oublies). En effet, ces deux textbox me servent à
enregistrer le fichier sous le nom de la commande.
Si quelqu'un peut éclairer ma lanterne, merci d'avance
Rémi




Avatar
Youky
Ou encore avec la methode select case
Private Sub TextBox1_Change()
'MsgBox Asc(Right(TextBox1.Value, 1)): Exit Sub
On Error Resume Next
Select Case Asc(Right(TextBox1.Value, 1))
Case 42, 47, 58, 63, 91 To 93, 124
MsgBox "Ne pas utiliser : " & Right(TextBox1.Value, 1) _
, vbExclamation, "Signe non valable"
lg = Len(TextBox1.Value)
TextBox1.Value = Left(TextBox1.Value, lg - 1)
Case Else
Exit Sub
End Select
End Sub

Youky
"Rémi" a écrit dans le message de
news:
Bonjour tout le monde,
Je souhaiterais interdire dans la saisie de deux textbox tous les
caractères

interdits d'enregistrement de fichier, c'est à dire / * | ? : < > " (je
ne

sais pas si j'en oublies). En effet, ces deux textbox me servent à
enregistrer le fichier sous le nom de la commande.
Si quelqu'un peut éclairer ma lanterne, merci d'avance
Rémi




Avatar
Rémi
je te remercie beaucoup, cela fonctionne à merveille
Rémi

"docm" a écrit dans le message de news:

Bonjour Rémi.

Voilà qui interdit certains caractères, qu'ils soient issus d'une touche
du
clavier ou encore d'un Copier/Coller.

Private Sub TextBox1_Change()
p = TextBox1.SelStart

Interdits = "/*|?:<>" & Chr(34)

x = TextBox1.Value
For i = 1 To Len(Interdits)
While InStr(x, Mid(Interdits, i, 1)) > 0

b = InStr(x, Mid(Interdits, i, 1))
x = Mid(x, 1, b - 1) & Mid(x, b + 1)

cpt = cpt + 1
Wend
Next

If cpt > 0 Then
MsgBox "Caractères interdits : " & Interdits
TextBox1.Value = x
TextBox1.SelStart = p - cpt
End If

End Sub


docm


"Rémi" wrote in message
news:
Bonjour tout le monde,
Je souhaiterais interdire dans la saisie de deux textbox tous les
caractères

interdits d'enregistrement de fichier, c'est à dire / * | ? : < > " (je
ne

sais pas si j'en oublies). En effet, ces deux textbox me servent à
enregistrer le fichier sous le nom de la commande.
Si quelqu'un peut éclairer ma lanterne, merci d'avance
Rémi








Avatar
Excel...lent
Salut Rémi,

Allez, bien que tu débordes de réponses, en voici une autre variante, ICI :

http://cjoint.com/?honk7pZugQ

Tu y trouveras ce code ( à adapter à ton souhait ) qui autorise uniquement
les lettre (Majuscules et Minuscules, les chiffres, le point et le point
virgule ) :

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'
Select Case KeyAscii
Case 44 ' autorise la virgule ","
Case 46 ' autorise le point "."
Case 48 To 57 ' autorise les chiffres
Case 65 To 90 ' autorise les lettres majuscules
Case 97 To 122 ' autorise les lettres minuscules
Exit Sub
Case Else
Beep
MsgBox "Caractères Interdits ! "
KeyAscii = 0
End Select
'
End Sub

Amicordialement.

Marc