Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Une Majuscule en début de cellule pas plus.

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

megansport

XLDnaute Junior
Bonjour au forum

J'aurais besoin de vos service pour travailler sur une base de 25000 ligne.
Il me faudrait tout simplement mettre une majuscule au début du mot.

Par exemple: phare droit devient Phare droit dans la cellule

J'ai chercher sur le forum mais je n'ai pas trouver de solution me concernant

Merci de votre aide
 
La macro fait bien le job, sauf qu'elle a changé NC en Nc (C>c n'est pas première lettre).
 
@anna2054

ton fichier en retour ; fais Ctrl e ➯ travail effectué

fais Alt F11 pour voir le code VBA :

VB:
Option Explicit

Sub Essai()
  Dim Tbl, n&: Application.ScreenUpdating = 0
  n = Cells(Rows.Count, 1).End(3).Row
  If n = 1 Then Exit Sub
  Dim chn$, k&, i&: n = n - 1: Tbl = [A2].Resize(n)
  For i = 1 To n
    chn = Tbl(i, 1): k = Len(chn)
    If k > 0 Then Tbl(i, 1) = _
      UCase$(Left$(chn, 1)) & Right$(chn, k - 1)
  Next i
  [A2].Resize(n) = Tbl
End Sub
edit : fichier amélioré dans mon post #47.

soan
 

Pièces jointes

Dernière édition:
Merci beaucoup Soan. Je sais comment m'en servir maintenant.
Cela marche impeccablement 🙂
 
Bonjour le fil,
Mince, j'avais pas posté ma réponse depuis 13:00 !!!! (resté en aperçu) 😵😖
le post #4 amélioré :
VB:
Option Explicit
Sub MajusculePremiereLettre()
Dim Elem As Range, W As Variant
    Application.EnableEvents = False
        For Each Elem In Selection.Cells
            W = Split(Elem)
            W(0) = StrConv(W(0), vbProperCase)
            Elem = Join(W)
        Next
    Application.EnableEvents = False
    MsgBox ("Fin de traitement")
End Sub
 
re
bonjour fanch55
wohw!!! split,strconv,join
a ben tu la veux ta majuscule toi 🤪

sinon MID en écriture c'est bien aussi

VB:
Option Explicit
Sub MajusculePremiereLettre()
Dim Elem As Range, t$
    Application.EnableEvents = False
        For Each Elem In Selection.Cells
           t = Elem.Text: Mid(t, 1, 1) = UCase(Mid(t, 1, 1)): Elem = t
        Next
    Application.EnableEvents = False
    MsgBox ("Fin de traitement")
End Sub
 
Ah ben du coup j'avais pas vu pour le NC, peut-être avec la correction bestiale ci-dessous :
VB:
]Option Explicit
Sub MajusculePremiereLettre()
Dim Elem As Range, W As Variant
    Application.EnableEvents = False
        For Each Elem In Selection.Cells
            If Elem <> "NC" then
                W = Split(Elem)
                W(0) = StrConv(W(0), vbProperCase)
                Elem = Join(W)
            End if
        Next
    Application.EnableEvents = False
    MsgBox ("Fin de traitement")
End Sub
@patricktoulon
Salut Pat, c'est vrai, j'ai fait une fixette sur mot avec majuscule en début, le mid est bien plus approprié (Anna ne parle par ailleurs que du premier caractère, j'ai tout zappé ).
 
Dernière édition:
re
il était une fois un mid(x,1,1) se promenant dans un module (qui faisait abstraction des considérations comme "NC") puisque touchant le seul et uniquement le premier caractère d'une chaîne se rendit fort utile l'or de l’application d'une majuscule a toute une colonne
si discret et si petit et ne remuant pas un pet tout seul s'ennuyait
allait- il encore être invisible .......

suite au prochain épisode ......... 🤪 🥳🤔

bon d'accords je sors
pardonnez moi (atteins de confinite aigue)
 
Bonjour anna2054, le fil,

Bah il est évident qu'il faut enlever le LCase dans la boucle :
VB:
For i = 1 To UBound(myArray, 1)
    myArray(i, 1) = UCase(Left(myArray(i, 1), 1)) & _
        Right(myArray(i, 1), Len(myArray(i, 1)) - 1)
Next
qu'on peut écrire tout simplement :
VB:
For i = 1 To UBound(myArray, 1)
    myArray(i, 1) = UCase(Left(myArray(i, 1), 1)) & Mid(myArray(i, 1), 2)
Next
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…