Macro : une colonne à transformer en minuscule sauf 1ère lettre

Résolu/Fermé
Lencorev - 10 juin 2015 à 16:11
 lencorev - 11 juin 2015 à 09:23
Bonjour,

Toute une colonne de mon tableau est en majuscule, et je voudrais que seulement la première lettre soit en majuscule, en passant obligatoirement par une macro.

Mon code ne fonctionne que sur la première ligne, mais ne marche pas pour la colonne entière.

Sheets("Feuil3").Range("T5:T402").Select
ActiveCell.Value = StrConv(ActiveCell.Value, vbProperCase)


Je suis bloquée, est ce que vous auriez une solution ?

Merci d'avance :)

A voir également:

4 réponses

Normad Messages postés 112 Date d'inscription dimanche 6 juin 2010 Statut Membre Dernière intervention 10 juin 2015 37
10 juin 2015 à 16:21
Bonjour,
Juste avec une boucle sur chaque cellule

Dim I As Long
For I = 5 To 402
Sheets("Feuil3").Range("T" & I).Value = StrConv(Sheets("Feuil3").Range("T" & I).Value, vbProperCase)
Next I

0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
10 juin 2015 à 17:52
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 10/06/2015 à 18:03
Re,
Pourquoi avoir changer de pseudo ?
https://forums.commentcamarche.net/forum/affich-32092237-vba-copier-le-contenu-d-une-cellule-et-non-sa-formule#p32092963
D'ailleurs, tu aurais pu poser ce problème dès le départ, ca serait déjà terminé
Maquette avec d'autres rangées de cellules (pas envie d'aller me balader dans T...AU )
Option Explicit
'-------
Sub nom_propre()
Dim Nbre As Integere, Tampon, LIg As IntegerApplication.ScreenUpdating = False
With Sheets(2)
Nbre = .Range("B2:J2").Columns.Count
Tampon = .Range("B2:J2")
End With

With Sheets(3)
For LIg = 1 To Nbre
Tampon(1, LIg) = Application.Proper(LCase(Tampon(1, LIg)))
Next
.Range("B5").Resize(1, Nbre) = Tampon
End With
End Sub



remarque:
Le texte au dpart est en majuscules: il faudrait dons utiliser 2 fois ou imbriquer strconv d'abord enminuscules (Vblowercase) puis la lettre en capitale(vbpropercase)

c'est pour cela qur j'ai pris l'option <ital>Application.Proper(LCase(Tampon(1, LIg)))
</ital>
Michel
0
Merci pour vos réponses !

Je ne connais pas vraiment le fonctionnement des forums, et je n'arrivais pas à retrouver mon 1er post, j'ai cru qu'il n'avait pas était bien été édité..
Entre temps avec d'autres recherches, j'ai trouvé cette solution, et avec votre aide, tout marche très bien !
Maintenant, j'ai d'autres problèmes mais je vais essayer de les résoudre toute seule.

Merci encore !
0