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