MAJUSCULE [Résolu]

lcastell 47 Messages postés lundi 6 novembre 2000Date d'inscription 3 mai 2005 Dernière intervention - 21 janv. 2005 à 08:16 - Dernière réponse : econs 4066 Messages postés mardi 13 mai 2003Date d'inscription 23 décembre 2008 Dernière intervention
- 21 janv. 2005 à 22:09
Bonjour,

Comment faire pour sélectionner dans une TextBox seulement le premier mot pour mettre celui-ci en majuscule. Ex : nom prénom, je veux mettre en majuscule seulement le NOM et la première lettre du Prénom, sachant que les deux sont séparés d'un espace.

Merci de votre Aide

Laurent
Afficher la suite 

4 réponses

metalcoder 193 Messages postés jeudi 14 février 2002Date d'inscription 25 mars 2011 Dernière intervention - 21 janv. 2005 à 08:46
+3
Utile
sur une feuille tu met un textbox et un bouton

Private Sub Command1_Click()
'recherche du caractère espace entre le nom et le prénom
'a contient la position du caractère espace
a = InStr(1, Text1.Text, " ")
'On garde que le nom dans la variable b (le nom c'est le début jusqu'a l'espace -1 caractère)
'b contient le nom en minuscule
b = Mid(Text1.Text, 1, a - 1)
'On convertis la chaine b en majuscule a l'aide de format
'c contient le nom en majuscule
c = Format(b, ">")
'On utilise replace pour remplacer le nom en mini par le majuscule
Text1.Text = Replace(Text1.Text, b, c)
End Sub

ps: il faut pas d'espace dans le nom sinon seul le début du nom sera en majuscule et il faut que le nom soit toujours en premier sinon c'est le prénom qui sera en majuscule

@+
Metalcoder
Cette réponse vous a-t-elle aidé ?  
econs 4066 Messages postés mardi 13 mai 2003Date d'inscription 23 décembre 2008 Dernière intervention - 21 janv. 2005 à 09:10
+3
Utile
La fonction UCase permet de passer une chaine de caractères en majuscule.

La fonction Split permet de séparer une chaine selon un délimiteur (ici, l'espace).







Dim tablo() As String

Dim chaine As String

Dim PremierMot As String

Dim SecondMot As String

Dim NOM As String

Dim PRENOM As String

Dim MajusculeSecondMot As String

Dim SecondMotSansPremiereLettre As String



chaine = "castell laurent"



tablo = Split(chaine, " ", , vbTextCompare)



PremierMot = tablo(LBound(tablo))

SecondMot = tablo(UBound(tablo))



MajusculeSecondMot = UCase(Left(SecondMot, 1))

SecondMotSansPremiereLettre = Right(SecondMot, Len(SecondMot) - 1)




NOM = UCase(PremierMot)

PRENOM = MajusculeSecondMot & SecondMotSansPremiereLettre



MsgBox NOM & " " & PRENOM








Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
Cette réponse vous a-t-elle aidé ?  
cqui789 261 Messages postés jeudi 13 janvier 2005Date d'inscription 18 mai 2009 Dernière intervention - 21 janv. 2005 à 11:51
+3
Utile
econs

mon manuel est vraiment nul, il ne connait SPLIT

doit-je comprendre que si il Y a plus d'un " ", tablo() aurra plus de 2 elements?



sinon juste un detail


SecondMotSansPremiereLettre = Right(SecondMot, Len(SecondMot) - 1)

se serai pas mieux avec


SecondMotSansPremiereLettre = mid(SecondMot, 2)
Cette réponse vous a-t-elle aidé ?  
econs 4066 Messages postés mardi 13 mai 2003Date d'inscription 23 décembre 2008 Dernière intervention - 21 janv. 2005 à 22:09
0
Utile
Oui, s'il y a N espaces, tablo() aura (N+1) éléments.





SecondMotSansPremiereLettre = Right(SecondMot, Len(SecondMot) - 1)

signifie :

prendre, à partir de la droite du mot, toutes les lettres sauf une. Ce qui revient à retirer la première lettre.



Mid(SecondMot,2) fait la même chose.... oui oui


Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.