OVH Cloud OVH Cloud

vérifier caractères interdits

3 réponses
Avatar
Fred
bonjour à tous

je souhaite dans un module vba empecher la présence de
caractères interdits dans un nom de fichier.
Je m'explique , dans un user form , l'utilisateur saisit un nom qui est
ensuite récupéré comme nom de fichier pour
l'enregistrement.
Si un caractère interdit est saisi (/) par exemple comment le vérifier et le
signaler à l'utilisateur

merci pour votre aide

Fred

3 réponses

Avatar
Ellimac
Bonjour,

Sub toto()
titi = InputBox("nom fichier")
retour:
On Error Resume Next
ActiveWorkbook.SaveAs "c:temp" & titi & ".xls"
While Err.Number = 1004
titi = InputBox("nom fichier")
GoTo retour
Wend
End Sub

Camille

-----Message d'origine-----
bonjour à tous

je souhaite dans un module vba empecher la présence de
caractères interdits dans un nom de fichier.
Je m'explique , dans un user form , l'utilisateur saisit
un nom qui est

ensuite récupéré comme nom de fichier pour
l'enregistrement.
Si un caractère interdit est saisi (/) par exemple
comment le vérifier et le

signaler à l'utilisateur

merci pour votre aide

Fred


.



Avatar
Vincent.
Bonjour,
Ci-après, une façon comme une autre de traiter le problème.
Nom est le nom saisi par l'utilisateur.
Nom = Replace(Nom, "/", " ")
Nom = Replace(Nom, "", " ")
Nom = Replace(Nom, ":", " ")
Nom = Replace(Nom, "*", " ")
Nom = Replace(Nom, "?", " ")
Nom = Replace(Nom, "|", " ")
Nom = Replace(Nom, "<", " ")
Nom = Replace(Nom, ">", " ")

Comme tu l'auras sûrement constaté, cette astuce permet de
remplacer tout caractère interdit par un espace !

A+

V.

-----Message d'origine-----
bonjour à tous

je souhaite dans un module vba empecher la présence de
caractères interdits dans un nom de fichier.
Je m'explique , dans un user form , l'utilisateur saisit
un nom qui est

ensuite récupéré comme nom de fichier pour
l'enregistrement.
Si un caractère interdit est saisi (/) par exemple
comment le vérifier et le

signaler à l'utilisateur

merci pour votre aide

Fred


.



Avatar
Denis Michon
Bonjour Fred,

Une alternative :

'---------------------------
Sub ValidationNom()

Dim Chaine(), Nom As Variant, Ok As Boolean
Dim Temp As String

Chaine = Array("/", "", ":", "*", "?", ">", "<", "|")
Ok = True

Do
Nom = Application.InputBox("Inscrivez le nom de votre fichier", _
"Nom du fichier", Temp, , , , , 3)
If Nom = "Faux" Then Exit Sub
For Each elt In Chaine
If InStr(1, Nom, elt, vbTextCompare) > 0 Then
MsgBox "Les caractères suivants ne peuvent être utilisé." _
& vbCrLf & vbCrLf & "Voici la liste : / * ? > < | . "
Temp = Nom
Nom = ""
Ok = False
Exit For
End If
Next
Loop Until Ok = True

End Sub
'---------------------------



Salutations!



"Fred" <nospam> a écrit dans le message de news:%
bonjour à tous

je souhaite dans un module vba empecher la présence de
caractères interdits dans un nom de fichier.
Je m'explique , dans un user form , l'utilisateur saisit un nom qui est
ensuite récupéré comme nom de fichier pour
l'enregistrement.
Si un caractère interdit est saisi (/) par exemple comment le vérifier et le
signaler à l'utilisateur

merci pour votre aide

Fred