première lettre de chaque mot

xpxpplus

XLDnaute Junior
Salut a vous tous, encore moi...
j'ai déja essayer avec NomPropre, il met la première lettre en majuscule et ca c'est ok, mais il me remet le mot en entier, mais j'aimerai avoir seulement la Première lettre de chaque mot de la cellule ex :

camion bleu donnerai CB
vélo rouge pale donnerai VRP
auto verte donnerai AV
ect....

en avance merci

Marcmarc
 

Lagache

XLDnaute Occasionnel
Re : première lettre de chaque mot

Bonjour le Forum , Salut vous tous du Post et toi Hervé,

Ma question est liée à ce post , j'ai un userform de petite base de données,pour cetains textbox j'applique la commande suivante:
Cells(1, 2) = Application.Proper(TextBox1.Text)
et donc j'ai effectivement la premiére lettre de chaque mot en majuscule.
Serait il possible d'inclure dans le code de l'userform une fonction qui ferait en sorte que seule la premiére lettre du premier mot soit en majuscule ?

Merci à vous
Cordialement
 

jipi06

XLDnaute Junior
Re : première lettre de chaque mot

C'est encore moi

après test sur le fichier cible cela fonctionne dans tous les cas sauf...quand l'adresse commence par une lettre. Pour que cela fonctionne il faut un chiffre ou 1 espace...!!

Cas N° 1 : OK
Entrée : 3 RUE DE LA NEUVE
Résultat : 3 Rue de la Neuve

Cas N° 2 : KO
Entrée : RUE de la Neuve
Résultat : RUE DE LA NEUVE

Par ailleurs est ce que ce code est envisageable en FUNCTION ???

Merci beaucoup de votre aide

A+
 

Hervé

XLDnaute Barbatruc
Re : première lettre de chaque mot

re

oups, y'avait une boulette :eek:

for i=1 ne bouclant qu'a partir du 2ème élément du tableau

la fonction personnalisée :
Code:
Public Function jipi(cellule As Range) As String
Dim i As Byte
Dim tablo, aexclur

aexclur = Array("de", "du", "la", "des")

tablo = Split(cellule, " ")

For i = 0 To UBound(tablo)
    If Not IsError(Application.Match(tablo(i), aexclur, 0)) Then
       tablo(i) = LCase(tablo(i))
    Else
        tablo(i) = Application.Proper(tablo(i))
    End If
Next i
jipi = Join(tablo, " ")

End Function

salut
 

Lagache

XLDnaute Occasionnel
Re : première lettre de chaque mot

Re Salut vous tous

Merci Hervé , c'est Ok et toujours parfait . Par contre est il possible d'inclure dans le code que lorsque dans le texte il y a un point on redémarre avec une majuscule .
Bon ok , je crois que j'en demande un peu trop à excel , y a peut être des limites !!

Merci à Vous
 

Hervé

XLDnaute Barbatruc
Re : première lettre de chaque mot

re lagache

a essayer suivant tes données, et surement à adapter (espace) :

Code:
Dim t As String
Dim el

With TextBox1
    For Each el In Split(.Text, ".")
        t = t & "." & UCase(Left(el, 1)) & Mid(el, 2)
    Next el
End With
Cells(1, 2) = Mid(t, 2)

salut
 

Lagache

XLDnaute Occasionnel
Re : première lettre de chaque mot

Salut Vous et toi Hervé

Bon tu pianotes plus vite que ton Ecran , alors c'est dûr de suivre.
Je pense que je n'ai pas su adapter le dernier code , je t'envoie dans la soirée un petit fichier pour que tu fasses un clin d'oeil si tu as le temps

Merci
Bonne aprés midi
 

Discussions similaires

Statistiques des forums

Discussions
312 609
Messages
2 090 202
Membres
104 451
dernier inscrit
scp9990