Do While (i < curDoc.Characters.Count)
chr = curDoc.Range.Characters(i)
For i = 1 To 10000 toto = toto & "Un password megasuper long" Next Dim titi() As Byte titi = StrConv(toto, vbFromUnicode) For i = 0 To UBound(titi) 'MsgBox Chr(titi(i)) If Chr(titi(i)) "u" Then titi(i) 0 Next 'INTERESSANT ! sstr = Replace(StrConv(titi, vbUnicode), Chr(0), "") MsgBox sstr
Sub delete_special_char1() Dim curPara As Paragraph Dim curDoc As Document Dim ascii As Long Dim char As Variant Dim lastChr As Long Dim i As Long Dim spChr As String Set curDoc = ActiveDocument 'char = chr(ascci) curDoc.Range.Select For ascii = 0 To 255 If (ascii < 12 Or 14 < ascii) And (ascii <> 32) And (ascii < 65 Or 90 < ascii) And (ascii < 97 Or 122 < ascii) And (ascii < 192 Or 197 < ascii) And (ascii < 200 Or 207 < ascii) And (ascii < 210 Or 214 < ascii) And (ascii < 217 Or 220 < ascii) And (ascii < 224 Or 228 < ascii) And (ascii < 232 Or 239 < ascii) And (ascii < 244 Or 246 < ascii) And (ascii < 251 Or 252 < ascii) Then Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = chr(ascii) .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End If Next ascii End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionFor i = 1 To 10000 toto = toto & "Voilà du texte d'où on veut supprimer le à, mais également le ù, indésirables" Next MsgBox "on va donc traiter une chaîne de " & Len(toto) & " caractères" ' c'est bien entendu à partir d'ici (chaîne à traiter étant construite, que l'on va ' "mesurer le temps d'exécution T = Timer Dim titi() As Byte titi = StrConv(toto, vbFromUnicode) For i = 0 To UBound(titi) Select Case titi(i) Case 224, 249 ' ====>> mets ici tes exclusions titi(i) = 0 End Select Next sstr = Replace(StrConv(titi, vbUnicode), Chr(0), "") MsgBox "traité en " & Timer - T & " secondes" MsgBox sstr