Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionseulement pour les nom qui en on besoin.est en opposition avec cela
tous les caractères doivent être en majuscule et il ne doit y avoir aucun espace (ou que ce soit dans la chaîne).
N'est-il pas plus facile de tester tout les noms avec la RegEx.Pattern = "[a-z]|\s+" et de les traiter si elle trouve quelque chose?
Replace(monTexte," ","")suffit
Function MyRegEx(argString)
Dim RegEx, matches
Set RegEx = New RegExp
With RegEx
.IgnoreCase = False
.Global = True
.Pattern = "[A-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝ]"
Set matches = .Execute(argString)
End With
If matches.Count >= 0 Then
argString = Replace(UCase(argString), Space(1), Space(0))
Else
argString = Replace(argString, Space(1), Space(0))
End If
MyRegEx = argString
End Function
WScript.Echo "test1" & vbTab & MyRegEx(" aOÜt")
WScript.Echo "test2" & vbTab & MyRegEx("août ")
WScript.Echo "test3" & vbTab & MyRegEx("AO ÛT")
WScript.Echo "test4" & vbTab & MyRegEx("AOût")
WScript.Echo "test5" & vbTab & Len(MyRegEx(" aOÜt"))
WScript.Echo "test6" & vbTab & Len(MyRegEx("août "))
WScript.Echo "test7" & vbTab & Len(MyRegEx("AO ÛT"))
WScript.Echo "test8" & vbTab & Len(MyRegEx("AOût"))
txt = "c:\ my fol der\ my Fi le.txt "
function repl(m,p,s)
' m = match reussi
' p = position
' s = texte reference
if m = " " then
txt = ""
else
txt=ucase(m)
end if
repl = txt
end function
set rx = New Regexp
With rx
.Pattern = "\s|[a-z]"
.Global = true
.IgnoreCase = false
End With
msgbox rx.Replace(txt, GetRef("repl"))