Bonjour chindou,
désolé, pour les majuscules, j'ai fait une erreur ! car UCase$(.Value) met toute la donnée en majuscules !
pour que ce soit seulement la 1ère lettre (et pas non plus celle de chaque mot) :
Private Sub TB_Change()
Dim TB As textbox
Dim i As Byte
For i = 1 To 8
With Controls("f_ent" & i)
If .Value <> "" Then .Value = UCase$(Left$(.Value, 1)) & Right$(.Value, Len(.Value) - 1)
End With
Next i
End Sub
@archer
tu a écrit :
au plus simple
* ton code est le même que celui de mon post d'hier à 19:38, sauf que mon code était plus simple vu que j'ai utilisé :
With Controls("f_ent" & i) .. End With
https://forum.excel-pratique.com/viewtopic.php?p=713280#p713280
* tu devrais relire la conversation : le .Proper() ne convient pas !
https://forum.excel-pratique.com/viewtopic.php?p=713297#p713297
en fait, chindou voulait dire :
car mon code qu'il a recopié en dessous est avec .Proper()
dhany