XL 2016 supprimer caractères spéciaux

david gom

XLDnaute Nouveau
Bonjour je souhaite supprimer les caractères spéciaux autres que a-z sur ce fichier.

Auriez vous une solution ?

Merci à vous
 

Pièces jointes

  • test caractères spéciaux.xlsx
    49 KB · Affichages: 29

Staple1600

XLDnaute Barbatruc
Re

Le message#46 c'est surtout parce que je pensais que tu n'avais vu le reste des échanges (vu que tu n'évoquais les autres propositions UTF8 ;))
Alors pour être complet et être HAPPY dans l'API ;)
VB:
Public Function UTF8_Encode(ByVal Text As String) As String
Dim sBuffer$, lLength&
lLength = WideCharToMultiByte(CP_UTF8, 0, StrPtr(Text), -1, 0, 0, 0, 0)
sBuffer = Space$(lLength)
lLength = WideCharToMultiByte(CP_UTF8, 0, StrPtr(Text), -1, StrPtr(sBuffer), Len(sBuffer), 0, 0)
sBuffer = StrConv(sBuffer, vbUnicode)
UTF8_Encode = Left$(sBuffer, lLength - 1)
End Function
 

patricktoulon

XLDnaute Barbatruc
@Robert bonsoir
@Staple1600
VB:
Option Explicit
'65001 'UTF8
Public Function UTF8_Decode(ByVal Text As String) As String
Dim lLength&, sBuffer$
Text = StrConv(Text, vbFromUnicode)
lLength = ExecuteExcel4Macro("CALL(""Kernel32"",""MultiByteToWideChar"",""JJJJJJJ""," & 65001 & ", " & 0 & ", """ & StrPtr(Text) & """, " & -1 & ", " & 0 & ", " & 0 & ")")
sBuffer = Space$(lLength)
lLength = ExecuteExcel4Macro("CALL(""Kernel32"",""MultiByteToWideChar"",""JJJJJJJ""," & 65001 & ", " & 0 & ", """ & StrPtr(Text) & """, " & -1 & ", " & StrPtr(sBuffer) & ", " & Len(sBuffer) & ")")
UTF8_Decode = Left$(sBuffer, lLength - 1)
End Function
Sub Test_Ter()
Dim stg, zzz, i%, Bazinga$
stg = Array("NOM1 Marie-Ségolène", "NOM2 BÉRÉNICE", "NOM3 Marie-Ségolène", "NOM4 BÉRÉNICE", "NOM5 Marie-Ségolène", "NOM6 BÉRÉNICE", "NOM7 Marie-Ségolène")
ReDim zzz(UBound(stg))
For i = LBound(stg) To UBound(stg)
zzz(i) = UTF8_Decode(CStr(stg(i)))
Next
Bazinga = Join(zzz, Chr(10))
MsgBox Bazinga
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Oui, c'est sûr "JJJCCCAAANNNPPP", ça parle à tout le monde, notamment à la plupart des demandeurs :eek:
Et je ne vois pas le gain à procéder de la sorte (mais ce n'est que mon avis)
(C'est pas plus rapide, le seul avantage c'est de créer des fils à rallonge sur XLD, ...n'est ce pas arthour ? (lol)
;)
 

Amilo

XLDnaute Accro
Bonjour à tous,

Voici une autre proposition avec Power query avec cette fois remplacement des caractères.
J'ai pris le fichier du message #31 à mapomme pour l'exemple
Le fichier a été enregistré sous l'extension .csv (séparateur : point-virgule)
Depuis un nouveau classeur, j'importe le fichier .csv en UTF8


Cordialement
 

Pièces jointes

  • Conversion depuis UTF-8 (v1).xlsx
    17.7 KB · Affichages: 6

Keluode

XLDnaute Nouveau
Bonjour,
Si comme moi, certains sont tombé sur ce forum et sont tombés sur ces personnes qui manquent de respect seulement parce qu'ils ne comprennent pas la question, voici la réponse. (En espérant que j'aie compris la question...) :p

Pour indiquer à Excel que nous voulons supprimer le caractère spécial, il faut mettre la "vague" devant le caractère à supprimer.

ALT+126 : ~

Ex pour supprimer un astérisque : ~*
 

Discussions similaires

Réponses
0
Affichages
209
  • Question
Microsoft 365 macro
Réponses
6
Affichages
260