Microsoft 365 Code Excel pour mettre la première lettre en majuscule

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 !

Yonissart

XLDnaute Nouveau
Bonsoir
Je cherche un code Excel pour mettre la première lettre de chaque mot en majuscule. j'en avais trouvé un super, mais il y a des mots qui doivent rester entièrement en majuscule, et ça ne suit pas, ça met meme tout en minuscule
Existe t-il un code Excel pour réussir ceci ?
Merci beaucoup
Cordialement
 
Solution
Bonsoir,

A tester ce code que j'ai sous le coude, provient d'un ancien fichier "le mettre dans la feuille même"

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Not Intersect(Target, [A1:Z100]) Is Nothing Then
        Dim cell As Range
        For Each cell In Target
            cell.Value = CapitaliserPremiereLettre(cell.Value)
        Next cell
    End If
    Application.EnableEvents = True
End Sub

Function CapitaliserPremiereLettre(ByVal texte As String) As String
    Dim mots() As String
    Dim mot As Variant
    Dim i As Integer

    mots = Split(texte, " ")

    For i = LBound(mots) To UBound(mots)
        If mots(i) <> "" Then
            ' Vérifier si le premier caractère est...
Bonsoir @job75 🙂,

1733165041417.png
 
Bonjour
Merci pour vos réponses
La raison qui fait que je souhaite la première lettre de chaque mot en majuscule est qu'il s'agit soit de prénom et/ou de noms, soit de noms de rue...
Pour un autre fichier, je testerai un autre code, mis ici, je ne sais encore lequel, car ce fichier m'arrivera à partir de janvier
Merci
Cordialement
 
Bonjour a tous,


Pour le plaisir, j'ai un peu joué avec l'I. A. ...

VB:
=LAMBDA(text;
    TEXTJOIN(" "; TRUE;
        MAP(TEXTSPLIT(text; " ");
            LAMBDA(word;
                UPPER(LEFT(word; 1)) & RIGHT(word; LEN(word) - 1)
            )
        )
    )
)

il a juste oublié le paramettre "TRUE"

les phrasesresultats
Le peTiTs cHATS de 4ansLe PeTiTs CHATS De 4ans
Le peTiTs cHATS de 4ansLe PeTiTs CHATS De 4ans
ce' est etoCe' Est Eto
c'eC'e
c'est étonNANT mAIS ceLA 4Ans.C'est ÉtonNANT MAIS CeLA 4Ans.
je ne sAIS pASJe Ne SAIS PAS


le code en francais:

Code:
=LAMBDA(texte,
    JOINDRE.TEXTE(" ", VRAI
        MAP(FRACTIONNER.TEXTE(texte, " "),
            LAMBDA(mot,
                MAJUSCULE(GAUCHE(mot, 1)) & DROITE(mot, STXT(mot, 2, 9999))
            )
        )
    )
)
 

Pièces jointes

Bonsoir
Ayant testé tous les codes, ils fonctionnent bien tous, toutefois, est-ce possible, d'une que finalement seule la première lettre soit en majuscule (non je ne suis pas .... 🙂 ), et ensuite, ajouter un deuxième code, par exemple pour élargir les colonnes automatiquement, ou un troisième ?
Merci
Cordialement
 
- 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

  • Question Question
XL pour MAC mise en forme
Réponses
2
Affichages
545
Réponses
9
Affichages
722
Retour