Pb: Mise en majuscules lettre initiale

Taddy

XLDnaute Nouveau
Bonjour tout le monde,

Je suis débutante en VBA Excel et je rencontre le problème suivant: je souhaite mettre en majuscules la première des prénoms directement dans le textbox de mon formulaire. J'ai trouvé plusieurs syntaxes, mais toutes convertissent le prénom entièrement en majuscules.
Quelqu'un pourrait-il m'aider s'il vous plaît?

Voici mon bout de code pour ce faire:

Code:
Private Sub Text_Prenom_Pers_KeyPress(ByVal Prenom As MSForms.ReturnInteger)

    'Contrôle de la textbox récupérant le prenom
    Prenom = Asc(UCase(Left(Chr(Prenom), 1)) & LCase(Right(Chr(Prenom), Len(Chr(Prenom)) - 1)))
    'Prenom = Asc(StrConv(Chr(Prenom), vbProperCase))
    'Prenom = Asc(Application.WorksheetFunction.Proper(Chr(Prenom)))
 
End Sub

Merci d'avance

P.S : ne faîtes pas attention aux quotes, c'était juste pour tester sans réécrire à chaque fois les différentes syntaxes que j'ai trouvé.
 

Taddy

XLDnaute Nouveau
Re : Pb: Mise en majuscules lettre initiale

Bonjour Denis,

Tout d'abord, merci pour ton aide. Cependant, en utilisant, comme tu l'as suggeré, Prenom = Application.WorksheetFunction.Proper(Prenom), , tous les caractères du prénom sont en minuscules, alors qu'avec ma syntaxe d'avant, Prenom = Asc(Application.WorksheetFunction.Proper(Chr(Prenom))), ils étaient tous en majuscules.
Je ne comprends plus rien, aurais-tu une autre idée stp??

@++
 

Taddy

XLDnaute Nouveau
Re : Pb: Mise en majuscules lettre initiale

C'est à nouveau moi !!

Pour plus de compréhension, j'ajoute mon fichier excel. La fonction qui me pose problème est liée au formulaire frmInsert.

Merci d'avance à tous.
 

Pièces jointes

  • Test_Formulaire.zip
    38.5 KB · Affichages: 23

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Pb: Mise en majuscules lettre initiale

Bonjour

au lieu de ce code que j'ai supprimé


Code:
Private Sub Text_Prenom_Pers_KeyPress(ByVal Prenom As MSForms.ReturnInteger)

    'Contrôle de la textbox récupérant le prenom
    'Prenom = Asc(UCase(Left(Chr(Prenom), 1)) & LCase(Right(Chr(Prenom), Len(Chr(Prenom)) - 1)))
    'Prenom = Asc(StrConv(Chr(Prenom), vbProperCase))
    Prenom = Application.WorksheetFunction.Proper(Prenom)

End Sub

j'ai mis


Code:
Private Sub Text_Prenom_Pers_Change()
Me.Text_Prenom_Pers = Application.WorksheetFunction.Proper(Me.Text_Prenom_Pers)
End Sub
 

Taddy

XLDnaute Nouveau
Re : Pb: Mise en majuscules lettre initiale

Merci beaucoup Pascal,

Cette méthode fonctionne parfaitement. C'est exactement ce que je voulais faire. Du coup j'ai remplacé mes fonctions textbox_KeyPress par des fonctions textbox_Change et cela simplifie beaucoup le code.

Merci encore.
@++
 

Taddy

XLDnaute Nouveau
Re : Pb: Mise en majuscules lettre initiale

Merci beaucoup Pascal. Ta méthode fonctionne parfaitement et c'est exactement le résultat que j'attendais.

Du coup dans mon code, j'ai remplacé mes fonctions "textbox_KeyPress" par des fonctions "textbox_Change" et cela simplifie beaucoup.

Merci encore pour l'aide que Denis et toi m'aviez apportée.

@++, bye.
 

Statistiques des forums

Discussions
312 163
Messages
2 085 860
Membres
103 006
dernier inscrit
blkevin