Remplacement caractère spéciaux par ?

Bonjour,

Le sujet a été traité plusieurs fois mais je n'ai pas trouvé exactement ma réponse.

J'ai un fichier Excel contenant des macro VBA qui ont pour fonction de contrôler la qualité d'un une liste de client saisie dans le fichier. Sauf que le contrôle sur la colonne NOm et Prénom change les caractères spéciaux (nom de client en caractère grec ou chinois) en "?". Les colonnes qui ne sont pas traité par une des macro n'ont pas leur caractères changés et donc reste bien en caractère grec et chinois. Donc comment faire en sorte que ma macro ne modifie par les caractères?

Merci

image image

Difficile de répondre sans le fichier et surtout les macros en question.

voici la macro. Je ne peux pas fournir l'Excel

Merci de votre aide

Private Sub FirstNameLastNameCase(p_l_lastRowNumber As Long)
Dim l_t_memErr As ERR_Mem 'used for error management
Dim l_l_rowNumber As Long
Dim l_l_FirstNcolumnNumber As Long
Dim l_l_LastNcolNumber As Long
Dim l_o_wsheet As Worksheet

On Error GoTo ErrMngmt
'main code
Set l_o_wsheet = Worksheets(sh_importACE.Name) ' designer la feuille data
' récupération du numéro de colonne First name à partir de son nom
l_l_FirstNcolumnNumber = l_o_wsheet.Range("Col_ContInfoFirstName").Column
' récupération du numéro de colonne Last name à partir de son nom
l_l_LastNcolNumber = l_o_wsheet.Range("Col_ContInfoLastName").Column
' Parcourir toutes les lignes qui ont de la data
For l_l_rowNumber = G_I_DATAFIRSTROW To p_l_lastRowNumber
l_o_wsheet.Cells(l_l_rowNumber, l_l_FirstNcolumnNumber).Value = StrConv(l_o_wsheet.Cells(l_l_rowNumber, l_l_FirstNcolumnNumber).Value, vbProperCase) ' Mettre la première lettre en majuscule
l_o_wsheet.Cells(l_l_rowNumber, l_l_LastNcolNumber).Value = StrConv(l_o_wsheet.Cells(l_l_rowNumber, l_l_LastNcolNumber).Value, vbUpperCase) ' Mettre la première lettre en majuscule
Next l_l_rowNumber
QuitProc:
On Error Resume Next
'closure code
'if an error occurs, display it
If l_t_memErr.Raised Then Mod_err.DisplayError l_t_memErr
Exit Sub
ErrMngmt:
If Mod_err.DebugMode Then: Mod_err.StopDebug: Stop: Resume
l_t_memErr = StoreErrInfo(Err, "Mod_verification.FirstNameLastNameCase")
Resume QuitProc
End Sub

Rechercher des sujets similaires à "remplacement caractere speciaux"