Salut
Ce doit être un problème de conversion OEM.
Essaye ça dans un module :
Partie déclaration
Public Enum eOEMStringTypeConversion
[ANSI to ASCII]
[ASCII to ANSI]
End Enum
Private sASCI As String
Private sANSI As String
Sub InitOEM
' Constantes de conversion ASCII <> ANSI
sASCI = Chr$(132) & Chr$(148) & Chr$(129) & Chr$(225) & Chr$(142) & Chr$(153) & Chr$(154) & Chr$(128) & Chr$(130) & Chr$(131) & Chr$(133) & Chr$(134) & Chr$(135) & Chr$(136) & Chr$(137) & Chr$(138) & Chr$(139) & Chr$(140) & Chr$(143) & Chr$(144) & Chr$(147) & Chr$(150) & Chr$(151) & Chr$(20) & Chr$(145) & Chr$(146) & Chr$(155) & Chr$(156) & Chr$(166) & Chr$(167) & Chr$(171) & Chr$(172) & Chr$(237) & Chr$(241) & Chr$(246) & Chr$(253) & Chr$(21) & Chr$(157)
sANSI = Chr$(228) & Chr$(246) & Chr$(252) & Chr$(223) & Chr$(196) & Chr$(214) & Chr$(220) & Chr$(199) & Chr$(233) & Chr$(226) & Chr$(224) & Chr$(229) & Chr$(231) & Chr$(234) & Chr$(235) & Chr$(232) & Chr$(239) & Chr$(238) & Chr$(197) & Chr$(201) & Chr$(244) & Chr$(251) & Chr$(249) & Chr$(182) & Chr$(230) & Chr$(198) & Chr$(162) & Chr$(163) & Chr$(170) & Chr$(186) & Chr$(189) & Chr$(188) & Chr$(216) & Chr$(177) & Chr$(247) & Chr$(178) & Chr$(167) & Chr$(165)
End Sub
Public Function OEMConvert(ByRef Texte As String, _
ByVal ConvertMode As eOEMStringTypeConversion) As String
' Vient de source de EBartSoft : http://www.vbfrance.com/code.aspx?ID=39592
Dim Src As String
Dim dest As String
Dim r As Long
Dim Pos As Long
OEMConvert = Texte
' sASCI et sANSI sont renseignés dans InitOEM
If (ConvertMode = [ANSI to ASCII]) Then
Src = sANSI
dest = sASCI
Else
Src = sASCI
dest = sANSI
End If
For r = 1 To Len(Src)
Do
Pos = InStr(OEMConvert, Mid$(Src, r, 1))
If (Pos = 0) Then Exit Do
Mid$(OEMConvert, Pos, 1) = Mid$(dest, r, 1)
Loop
Next
End Function
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)