Bonsoir,
Un fichier n'aurait pas été inutile pour te fournir un outil adapté... Tu auras donc à l'adapter !
Sub NomPrénom(nm As String, pnm As String, cdest As Range)
Dim np, k%
np = Array(nm, pnm)
k = Len(nm)
np(0) = StrConv(np(0), vbUpperCase)
np(1) = StrConv(np(1), vbProperCase)
If cdest.Count > 1 Then Set cdest = cdest.Cells(1, 1)
Application.ScreenUpdating = False
With cdest
.Clear
.Value = Join(np, Chr(10))
.WrapText = True
.Characters(1, k).Font.Bold = True
End With
End Sub
La procédure est à lancer à partir d'une autre procédure qui lui fournira 3 arguments : le nom (sous forme texte, variable ou indication d'une cellule qui le contient), le prénom (même chose), la plage de destination (objet Range, limitée à une cellule, toutefois si la plage indiquée en comportait plusieurs seule la première sera prise en considération).
Exemple d'utilisation :
Sub Test()
NomPrénom "dubois", "serge", ActiveSheet.Range("C4")
End Sub
ou bien :
Sub Demo()
With ActiveSheet
NomPrénom .Cells(2, 1), .Cells(1, 1), .Range("D6")
End With
End Sub
etc.
Elle peut bien sûr être appelée dans une boucle pour traiter une série de noms...
Cordialement.