Bonjour,Re et un salut à Staple1600
Ah. Pourquoi ai-je encore un gros doute ?
Si je m'en tiens rigoureusement à cette nouvelle expression, "Apôtre" , par exemple, serait donc remplacé par "Aptre".
(nous en sommes au 15ème message et le doute subsiste).
En effet, j'ai modifié le fichier.Re
•>david gom
J'ai ouvert ton fichier
Et je t'invite donc à lire urgemment le point 1) de la charte du forum.
Celui parle de RGPD.
Ceci fait, tu devineras ce que tu dois faire avec ton fichier...
dans ce cas làOui pas de problème si les lettres liées aux caractères spéciaux disparaissent aussi.
Merci,
Sub Test2()
Dim cel As Range
For Each cel In [A1:c10].Cells
With CreateObject("VBScript.RegExp")
.Global = True: .IgnoreCase = True
.Pattern = "[^\w]"
cel.Value = .Replace(cel.Text, "")
End With
Next
End Sub
Lorsque j'ouvre le fichier je ne vois que des patronymes fictifs mais bon...Re
•>david gom
Ah, bon?
Pourtant, c'est toujours le même fichier dans le message#1, non?
Avec tout plein de patronymes non fictifs...
Sub Epure()
Dim tablo, E, t, i&
tablo = Array("Ã", "©", "Ã", "¨", "‰", "«", "¯") 'caractères spéciaux
E = Range("A1:A2", Range("A" & Rows.Count).End(xlUp))
For Each t In tablo
For i = 1 To UBound(E)
E(i, 1) = Application.Trim(Replace(E(i, 1), t, " "))
Next
Next
E(1, 1) = "Epuré" 'si ligne de titres
[B1].Resize(UBound(E)) = E
End Sub
Merci pour le temps accordé ça fonctionne.Bonjour à toi aussi patriclktoulon...
Donc en reprenant le code de job75 dans le fil que je citais
VB:Sub Epure() Dim tablo, E, t, i& tablo = Array("Ã", "©", "Ã", "¨", "‰", "«", "¯") 'caractères spéciaux E = Range("A1:A2", Range("A" & Rows.Count).End(xlUp)) For Each t In tablo For i = 1 To UBound(E) E(i, 1) = Application.Trim(Replace(E(i, 1), t, " ")) Next Next E(1, 1) = "Epuré" 'si ligne de titres [B1].Resize(UBound(E)) = E End Sub
Private Function machette(ch As String) As String
Dim k As Integer, titi
titi = Split(StrConv(ch, vbUnicode), Chr(0))
For k = 0 To UBound(titi) - 1
If titi(k) Like "[!A-z]" Then titi(k) = Chr(1)
Next
machette = Replace(Join(titi, ""), Chr(1), "")
End Function
Oui bien sur j'ai modifié à la suite de ton messageRe
Ok
Mais on est bien d'accord que le 1ère version de ton fichier était plein de noms réels?
(Ils sont encore affichés dans mon Excel en ce moment)
J'avais pas la berlue, non ?
'----------------------------------------------------------------------------------------------
'---------------- Fonction sur le net
'---------------- par Marcos Rieper
'---------------- https://www.guiadoexcel.com.br/converter-utf8-para-iso-8859-1-ascii-ansi/
'---------------- Vidéo de présebntation + Code VBA
'----------------------------------------------------------------------------------------------
Function fnConverterUTF8(ByVal Texto_para_converter As String)
Dim l As Long, sUTF8 As String
Dim iChar As Integer
Dim iChar2 As Integer
For l = 1 To Len(Texto_para_converter)
iChar = Asc(Mid(Texto_para_converter, l, 1))
If iChar > 127 Then
If Not iChar And 32 Then
iChar2 = Asc(Mid(Texto_para_converter, l + 1, 1))
sUTF8 = sUTF8 & ChrW$(((31 And iChar) * 64 + (63 And iChar2)))
l = l + 1
Else
Dim iChar3 As Integer
iChar2 = Asc(Mid(Texto_para_converter, l + 1, 1))
iChar3 = Asc(Mid(Texto_para_converter, l + 2, 1))
sUTF8 = sUTF8 & ChrW$(((iChar And 15) * 16 * 256) + ((iChar2 And 63) * 64) + (iChar3 And 63))
l = l + 2
End If
Else
sUTF8 = sUTF8 & Chr$(iChar)
End If
Next l
fnConverterUTF8 = sUTF8
End Function