Bonjour à tous
je voudrai par une macro mettre le premier mot de ma colonne en majuscule et et les autres en minuscule.
J'ai 2 colonnes de 1800 lignes.
merci pour votre aide
cordialement Bob
Merci pour votre attention
Le code je jean marcel ne fonctionne pas car je n'ai pas dû être assez clair.
Je joins le fichier exemple, sur celui-ci je voudrai dans les colonnes A et B mettre en majuscules le premier mot de chaque cellule et la suite en minuscules.
Merci Bob
Bonjour à tous, salut Jean-Marcel,
une idée de base à tester :
Code:
Sub a()
Dim Pl As Range, c As Range, s, i&
Set Pl = Range("A1:B29")
For Each c In Pl
s = Split(Application.WorksheetFunction.Trim(c))
s(0) = UCase(s(0))
For i = LBound(s) + 1 To UBound(s)
s(i) = LCase(s(i))
Next i
c = Join(s, " ")
Next
End Sub
Tu parles bien du 1er mot et non de la 1ère lettre de chaque mot...
une autre possibilité (une boucle en moins) :
Code:
Sub a()
Dim Pl As Range, c As Range, maj, min As String
Set Pl = Range("A1:B29")
For Each c In Pl
maj = UCase(Split(Application.WorksheetFunction.Trim(c))(0))
min = LCase(Mid(c, Len(maj) + 2, Len(c)))
c = maj & " " & min
Next
End Sub
en fait je ne sais pas trop suite au message #6 de bobafric : il dit que ton code fonctionne à merveille !
Je suppose donc que ta proposition lui convient.
A+