dans une même textbox= NOM>MAJUSCULE et Prénom>Minuscule

kjin

XLDnaute Barbatruc
Bonsoir à tous,
Dans une textbox, pouvoir transformer la valeur saisie en minuscule, en MAJUSCULE, ou seulement la première lettre en MAJUSCULE, ça je sais faire, mais les deux ensembles...c'est très bête mais je ne m 'en sort pas. Je cherche à dissocier le premier mot du deuxième mot et pense que se sera difficile sans variables supplémentaires.
Je cherche une piste.
Merci
kjin
 

Excel-lent

XLDnaute Barbatruc
Re : dans une même textbox= NOM>MAJUSCULE et Prénom>Minuscule

Bonjour Kjin,

En formule Excel, si tu as en [A1] alain dupont

Mettre par exemple dans la cellule [C1]
Code:
=NOMPROPRE(GAUCHE(A1;NBCAR(A1)-CHERCHE(" ";A1)))&" "&MAJUSCULE(DROITE(A1;NBCAR(A1)-CHERCHE(" ";A1)))

Tu obtiens ainsi en [C1] Alain DUPONT

Il ne te reste plus qu'à le traduire en VBA ;)

En faisant ainsi, tu n'auras qu'une variable!

Sinon, tu as également quelques pistes plus bas.
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : dans une même textbox= NOM>MAJUSCULE et Prénom>Minuscule

Merci pour ta réponse rapide excel_lent,
Bien entendu, mon soucis réside dans le fait que le textbox en question setrouve dans un USF et que j'ai des difficultés à manipuler les fonctions Left, right et lenght. Les liens que tu suggères ne traitent pas de ce cas particulier et je n'en ai pas trouvais d'autre.
Je visualise bien le processus à mettre en oeuvre mais, ce que je demandais, c'était une piste qui m'évite de déployer une usine à gaz.
Merci à toi
kjin
 

Pierrot93

XLDnaute Barbatruc
Re : dans une même textbox= NOM>MAJUSCULE et Prénom>Minuscule

Bonjour Kjin, Excel-lent

Essaye peut être le code ci dessous, à placer dans le module de l'USF, événement "Exit" du textbox, en supposant qu'il n'y ait qu'un espace de saisie dans la "textbox" :

Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox1 = Application.Proper(Mid(TextBox1, 1, InStr(1, TextBox1, " "))) & _
        UCase(Mid(TextBox1, InStr(1, TextBox1, " ") + 1))
End Sub

bonne journée
@+
 

news

XLDnaute Impliqué
Re : dans une même textbox= NOM>MAJUSCULE et Prénom>Minuscule

Bonjour à tous de ce forum,

'premier mot en Majuscule, 2e mot en minuscule

Je vodurais utiliser que le 1ier mot est en MAJUSCULE et le 2e mot en minuscule.
Comment on modifie le code suivant:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Application.Proper(Mid(TextBox1, 1, InStr(1, TextBox1, " "))) & _
UCase(Mid(TextBox1, InStr(1, TextBox1, " ") + 1))
End Sub
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : dans une même textbox= NOM>MAJUSCULE et Prénom>Minuscule

Re, bonjour News

si j'ai bien compris, tu inverse...

Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox1 = UCase(Mid(TextBox1, 1, InStr(1, TextBox1, " "))) & _
        Application.Proper(Mid(TextBox1, InStr(1, TextBox1, " ") + 1))
End Sub

@+
 

kjin

XLDnaute Barbatruc
Re : dans une même textbox= NOM>MAJUSCULE et Prénom>Minuscule

Bonjour à tous, bonjour pierrot,
Merci beaucoup pierrot car sans toi je n'y serais pas arrivé et surtout pas aussi simplement.
Je souhaiterai, sans vouloir abuser et si tu as le temps, que tu m'aides à comprendre un peu mieux cette fonction.
Encore merci
kjin
 

Pierrot93

XLDnaute Barbatruc
Re : dans une même textbox= NOM>MAJUSCULE et Prénom>Minuscule

Re

"Application.Proper" permet d'utiliser la fonction de feuille de calcul "NOMPROPRE", met en majuscule la première lettre de chaque chaîne de caractères entre parenthèses.

je cherche à localiser un "espace", résultat 2 chaines de catractères que je concatène avec "&". Et j'utilise la fonction "UCase" afin de mettre en majuscule la 2ème chaine identifiée.

Pour plus d'info tu peux faire F1, après avoir placé le curseur dessus, l'aide vba te donnera la description détaillée avec exemple, car suis pas sur d'avoir été très clair...

bonne soirée
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 370
Messages
2 087 689
Membres
103 639
dernier inscrit
NIEMASAFI