Macro : 1ère lettre du 1er mot en majuscule
Lencorev
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
Bonjour,
J'utilise la fonction "nom propre" sur excel qui permet de mettre une majuscule à chaque début de mot, et je l'utilise sur toute une colonne :
Le problème c'est par exemple lorsqu'une cellule contient "inox et plastique", mon code transforme la cellule en "Inox Et Plastique" alors que je voudrais "Inox et plastique"...
Existe-il une fonction qui fait ça directement? Ou pensez vous à un autre moyen? Je sèche un peu..
Merci d'avance!
J'utilise la fonction "nom propre" sur excel qui permet de mettre une majuscule à chaque début de mot, et je l'utilise sur toute une colonne :
Sheets("Feuil3").Range("F5").Select
ActiveCell.Value = StrConv(ActiveCell.Value, vbProperCase)
For I = 1 To 400
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = StrConv(ActiveCell.Value, vbProperCase)
Next I
Le problème c'est par exemple lorsqu'une cellule contient "inox et plastique", mon code transforme la cellule en "Inox Et Plastique" alors que je voudrais "Inox et plastique"...
Existe-il une fonction qui fait ça directement? Ou pensez vous à un autre moyen? Je sèche un peu..
Merci d'avance!
A voir également:
- Sql majuscule première lettre
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro maker - Télécharger - Divers Utilitaires
- Macro word - Guide
3 réponses
Bonjour
il te suffit de "majusculer" le premier caractère de ta chaine
Cdlmnt
il te suffit de "majusculer" le premier caractère de ta chaine
Public Function InitialeMajuscule(s As String) As String InitialeMajuscule = UCase(Left(s, 1)) & Right(s, Len(s) - 1) End Function
Cdlmnt
J'ai essayé d'adapter votre code à mon cas et voila ce que ça donne :
Sheets("Feuil3").Range("F5").Select
ActiveCell.Value = UCase(Left(Sheets("Feuil3").Range("F5").Value, 1)) & Right(Sheets("Feuil3").Range("F5").Value, Len(Sheets("Feuil3").Range("F5").Value) - 1)
For I = 5 To 402
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = UCase(Left(Sheets("Feuil3").Range("F" & I).Value, 1)) & Right(Sheets("Feuil3").Range("F" & I).Value, Len(Sheets("Feuil3").Range("F" & I).Value) - 1)
Next I
Mais ce code transforme toute la colonne F5 en majuscule, je ne comprends pas pourquoi..