Bonjour,
Dans une fonction Basic, je voudrais trouver et remplacer les caractères non alphabétiques par "".
J'ai donc utilisé la fonction :
Je l'utilise dans la routine :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Function Replace(Source As String, Search As String, NewPart As String) Dim Result As String Dim StartPos As Long Dim CurrentPos As Long Result = "" StartPos = 1 CurrentPos = 1 If Search = "" Then Result = Source Else Do While CurrentPos <> 0 CurrentPos = InStr(StartPos, Source, Search) If CurrentPos <> 0 Then Result = Result + Mid(Source, StartPos, _ CurrentPos - StartPos) Result = Result + NewPart StartPos = CurrentPos + Len(Search) Else Result = Result + Mid(Source, StartPos, Len(Source)) End If ' Position <> 0 Loop End If Replace = Result End Function
D'après https://help.libreoffice.org/Common/...Expressions/fr et https://wiki.openoffice.org/wiki/FR/...es_dans_Writer, les caractères autres que [a-z] devraient être supprimés. Or, rien ne se produit. Ils ne sont pas détectés, et la chaîne est retournée sans modification.Code:
1
2
3 Sub Test ch=Replace("Lach-e/e-)","[^a-z]","") end sub
Sous Excel, la négation ! est possible, mais, ici, elle ne donne rien non plus.
Merci de votre avis.