Je ne pense pas qu'il n'existe pas de fonction qui puisse faire ce que tu veux. Mais avec une petite macro c'est faisable :
insère un module à ton classeur, colle le code ci-dessous et utilise la nouvelle fonction créée intitulée DebutMaj(Cellule) :
Public Function DebutMaj(Cellule As Range) As String Dim n As Integer, s As String s = LCase(Cellule.Text) s = UCase(Left(s, 1)) & Right(s, Len(s) - 1) For n = 2 To Len(s) If Mid(s, n - 1, 1) = " " And Mid(s, n, 1) <> " " Then s = Left(s, n - 2) & " " & UCase(Mid(s, n, 1)) & Right(s, Len(s) - n) End If Next n DebutMaj = s End Function
Je pense qu'on doit pouvoir optimiser ce code, mais ça marche.
Bruno
"Steph" a écrit dans le message de news: %23$
Bonjour,
Voici une formule qui permet de changer la 1er lettre du texte de la cellule en Majuscule et met le reste en minuscule.
Si formule en B1 Exemple A1= EXEMPLE --> B1 = Exemple A1=exemple ---> B1 = Exemple
Maintenant, plus dur si j'ai 2 ou 3 nom dans la même cellule avez vous une idée ?
Je souhaiterais avoir Si A1= exemple EXEMPLE test --> B1=Exemple Exemple Test
Merci
Steph
Salut Steph,
Je ne pense pas qu'il n'existe pas de fonction qui puisse faire ce que tu
veux. Mais avec une petite macro c'est faisable :
insère un module à ton classeur, colle le code ci-dessous et utilise la
nouvelle fonction créée intitulée DebutMaj(Cellule) :
Public Function DebutMaj(Cellule As Range) As String
Dim n As Integer, s As String
s = LCase(Cellule.Text)
s = UCase(Left(s, 1)) & Right(s, Len(s) - 1)
For n = 2 To Len(s)
If Mid(s, n - 1, 1) = " " And Mid(s, n, 1) <> " " Then
s = Left(s, n - 2) & " " & UCase(Mid(s, n, 1)) & Right(s,
Len(s) - n)
End If
Next n
DebutMaj = s
End Function
Je pense qu'on doit pouvoir optimiser ce code, mais ça marche.
Bruno
"Steph" <stephane.stommen@technic-one.com> a écrit dans le message de news:
%23$NoFso4EHA.524@TK2MSFTNGP09.phx.gbl...
Bonjour,
Voici une formule qui permet de changer la 1er lettre du texte de la
cellule en Majuscule et met le reste en minuscule.
Si formule en B1
Exemple
A1= EXEMPLE --> B1 = Exemple
A1=exemple ---> B1 = Exemple
Je ne pense pas qu'il n'existe pas de fonction qui puisse faire ce que tu veux. Mais avec une petite macro c'est faisable :
insère un module à ton classeur, colle le code ci-dessous et utilise la nouvelle fonction créée intitulée DebutMaj(Cellule) :
Public Function DebutMaj(Cellule As Range) As String Dim n As Integer, s As String s = LCase(Cellule.Text) s = UCase(Left(s, 1)) & Right(s, Len(s) - 1) For n = 2 To Len(s) If Mid(s, n - 1, 1) = " " And Mid(s, n, 1) <> " " Then s = Left(s, n - 2) & " " & UCase(Mid(s, n, 1)) & Right(s, Len(s) - n) End If Next n DebutMaj = s End Function
Je pense qu'on doit pouvoir optimiser ce code, mais ça marche.
Bruno
"Steph" a écrit dans le message de news: %23$
Bonjour,
Voici une formule qui permet de changer la 1er lettre du texte de la cellule en Majuscule et met le reste en minuscule.
Si formule en B1 Exemple A1= EXEMPLE --> B1 = Exemple A1=exemple ---> B1 = Exemple
Maintenant, plus dur si j'ai 2 ou 3 nom dans la même cellule avez vous une idée ?
Je souhaiterais avoir Si A1= exemple EXEMPLE test --> B1=Exemple Exemple Test
Merci
Steph
Bruno LOUIS
Autant pour moi : "nompropre" ça a l'air plus simple ;)
Bruno
"Bruno LOUIS" a écrit dans le message de news: 41c011d5$0$9531$
Salut Steph,
Je ne pense pas qu'il n'existe pas de fonction qui puisse faire ce que tu veux. Mais avec une petite macro c'est faisable :
insère un module à ton classeur, colle le code ci-dessous et utilise la nouvelle fonction créée intitulée DebutMaj(Cellule) :
Public Function DebutMaj(Cellule As Range) As String Dim n As Integer, s As String s = LCase(Cellule.Text) s = UCase(Left(s, 1)) & Right(s, Len(s) - 1) For n = 2 To Len(s) If Mid(s, n - 1, 1) = " " And Mid(s, n, 1) <> " " Then s = Left(s, n - 2) & " " & UCase(Mid(s, n, 1)) & Right(s, Len(s) - n) End If Next n DebutMaj = s End Function
Je pense qu'on doit pouvoir optimiser ce code, mais ça marche.
Bruno
"Steph" a écrit dans le message de news: %23$
Bonjour,
Voici une formule qui permet de changer la 1er lettre du texte de la cellule en Majuscule et met le reste en minuscule.
Si formule en B1 Exemple A1= EXEMPLE --> B1 = Exemple A1=exemple ---> B1 = Exemple
Maintenant, plus dur si j'ai 2 ou 3 nom dans la même cellule avez vous une idée ?
Je souhaiterais avoir Si A1= exemple EXEMPLE test --> B1=Exemple Exemple Test
Merci
Steph
Autant pour moi : "nompropre" ça a l'air plus simple ;)
Bruno
"Bruno LOUIS" <bruno@hamelin-lecardonnel.fr> a écrit dans le message de
news: 41c011d5$0$9531$8fcfb975@news.wanadoo.fr...
Salut Steph,
Je ne pense pas qu'il n'existe pas de fonction qui puisse faire ce que tu
veux. Mais avec une petite macro c'est faisable :
insère un module à ton classeur, colle le code ci-dessous et utilise la
nouvelle fonction créée intitulée DebutMaj(Cellule) :
Public Function DebutMaj(Cellule As Range) As String
Dim n As Integer, s As String
s = LCase(Cellule.Text)
s = UCase(Left(s, 1)) & Right(s, Len(s) - 1)
For n = 2 To Len(s)
If Mid(s, n - 1, 1) = " " And Mid(s, n, 1) <> " " Then
s = Left(s, n - 2) & " " & UCase(Mid(s, n, 1)) & Right(s,
Len(s) - n)
End If
Next n
DebutMaj = s
End Function
Je pense qu'on doit pouvoir optimiser ce code, mais ça marche.
Bruno
"Steph" <stephane.stommen@technic-one.com> a écrit dans le message de
news: %23$NoFso4EHA.524@TK2MSFTNGP09.phx.gbl...
Bonjour,
Voici une formule qui permet de changer la 1er lettre du texte de la
cellule en Majuscule et met le reste en minuscule.
Si formule en B1
Exemple
A1= EXEMPLE --> B1 = Exemple
A1=exemple ---> B1 = Exemple
Autant pour moi : "nompropre" ça a l'air plus simple ;)
Bruno
"Bruno LOUIS" a écrit dans le message de news: 41c011d5$0$9531$
Salut Steph,
Je ne pense pas qu'il n'existe pas de fonction qui puisse faire ce que tu veux. Mais avec une petite macro c'est faisable :
insère un module à ton classeur, colle le code ci-dessous et utilise la nouvelle fonction créée intitulée DebutMaj(Cellule) :
Public Function DebutMaj(Cellule As Range) As String Dim n As Integer, s As String s = LCase(Cellule.Text) s = UCase(Left(s, 1)) & Right(s, Len(s) - 1) For n = 2 To Len(s) If Mid(s, n - 1, 1) = " " And Mid(s, n, 1) <> " " Then s = Left(s, n - 2) & " " & UCase(Mid(s, n, 1)) & Right(s, Len(s) - n) End If Next n DebutMaj = s End Function
Je pense qu'on doit pouvoir optimiser ce code, mais ça marche.
Bruno
"Steph" a écrit dans le message de news: %23$
Bonjour,
Voici une formule qui permet de changer la 1er lettre du texte de la cellule en Majuscule et met le reste en minuscule.
Si formule en B1 Exemple A1= EXEMPLE --> B1 = Exemple A1=exemple ---> B1 = Exemple