La 1 ére lettre d'un textbox

Résolu
Ania5 Messages postés 72 Date d'inscription mercredi 9 novembre 2011 Statut Membre Dernière intervention 27 avril 2013 - 7 janv. 2012 à 13:17
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 25 janv. 2012 à 14:07
Bonjour à tous,

j'aimerai mettre la première lettre d'un textbox en majuscule (juste la 1ère lettre même si le textbox est constitué de plusieurs mots, seule la 1ère lettre du 1er mot doit être en majuscule). Malheureusement la fonction StrConv ne me convient pas car elle met la 1ère lettre de chaque mot en majuscule.

Merci d'avance pour votre aide.

Cordialement.

47 réponses

mdevaux62 Messages postés 111 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 17 novembre 2012 7
14 janv. 2012 à 09:38
Bonjour,
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        MajusculeAuDebut(sender)
    End Sub

    Private Sub MajusculeAuDebut(ByVal monTextBox As TextBox)
        With monTextBox
            'Mémoriser la portion sélectionnée dans le Textbox
            Dim selectionDebut As Integer = .SelectionStart
            Dim selectionLongueur As Integer = .SelectionLength
            'Mettre la première lettre en majuscule et les autres (s'il y en a d'autres) en minuscule
            If .Text.Length = 1 Then
                .Text = .Text.Substring(0, 1).ToUpper
            ElseIf .Text.Length > 1 Then
                .Text = .Text.Substring(0, 1).ToUpper & .Text.Substring(1).ToLower
            End If
            .SelectionStart = selectionDebut
            .SelectionLength = selectionLongueur
        End With
    End Sub

3
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
7 janv. 2012 à 13:49
Salut

Je dirai
TextBox1.Text = TextBox1.Text.Substring(0, 1).ToUpper() & _
                TextBox1.Text.Substring(1).ToString


Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Ania5 Messages postés 72 Date d'inscription mercredi 9 novembre 2011 Statut Membre Dernière intervention 27 avril 2013 1
10 janv. 2012 à 16:29
salut
ça marche pas .j'ai essayé avec ce code:
TextBox1.Text = TextBox1.Text.Substring(0, 1).ToUpper() & _
TextBox1.Text.Substring(2, Len(TextBox1.Text)).ToString
même message d'erreur
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 228
10 janv. 2012 à 17:08
Bonjour, pourquoi ton indicer 2 ?
Devrait logiquement être :
Char.ToUpper(TextBox1.Text.Chars(0)) + TextBox1.Text.Substring(1, TextBox1.Text.Length - 1)

Selon ce que comprends et déduis en lisant MSDN (je n'ai pas VB.Net et ne suis pas VB.Netiste !)
Me trompe-je ?

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ania5 Messages postés 72 Date d'inscription mercredi 9 novembre 2011 Statut Membre Dernière intervention 27 avril 2013 1
10 janv. 2012 à 17:23
il a affiché l'erreur : "L'index se trouve en dehors des limites du tableau."
je sais pas quel index?
0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 55
10 janv. 2012 à 17:42
Salut
si Jack te donne la bonne réponse
TextBox1.Text = (TextBox1.Text.Substring(0, 1).ToUpper) & TextBox1.Text.Substring(1)


avec ton code non
TextBox1.Text = TextBox1.Text.Substring(0, 1).ToUpper() & _
TextBox1.Text.Substring(2, Len(TextBox1.Text)).ToString

TextBox1.Text.Substring(2, Len(TextBox1.Text)).ToString

tu essayes de creer un substring à partir du
3 ieme caractère (index commence par 0 et de longueur du string mais
comme il manque déja 3 caractères donc la
l'erreur
et en plus len(textbox1.text) ce n'est pas du
net
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 228
10 janv. 2012 à 17:54
il a affiché l'erreur : "L'index se trouve en dehors des limites du tableau."
je sais pas quel index?

Gère l'erreur ! (si TextBox1.Text ne contient qu'un caractère, tu ne peux te référer à ce qui suit ce seul caractère ! )

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Ania5 Messages postés 72 Date d'inscription mercredi 9 novembre 2011 Statut Membre Dernière intervention 27 avril 2013 1
10 janv. 2012 à 17:55
ça marche pas la méthode : TextBox1.Text = (TextBox1.Text.Substring(0, 1).ToUpper) & TextBox1.Text.Substring(1)
j'ai essayé par:
TextBox1.Text = TextBox1.Text.Substring(0, 1).ToUpper() & _
TextBox1.Text.Substring(1, ((TextBox1.Text.Length))).ToString
0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 55
10 janv. 2012 à 18:06
TextBox1.Text = TextBox1.Text.Substring(0, 1).ToUpper() & TextBox1.Text.Substring(1, ((TextBox1.Text.Length) - 1)).ToString


textbox1.text.substring(1)
équivalent à
TextBox1.Text.Substring(1,((TextBox1.Text.Length) - 1))
0
Ania5 Messages postés 72 Date d'inscription mercredi 9 novembre 2011 Statut Membre Dernière intervention 27 avril 2013 1
10 janv. 2012 à 18:20
Les deux méthodes ça marche pas.
Merci
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 228
10 janv. 2012 à 18:34
Relire "à tout hasard" mon message précédent
Si moins de deux caractères au moment du test ===>> erreur à gérer (me semble-t-il) !
Non ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Ania5 Messages postés 72 Date d'inscription mercredi 9 novembre 2011 Statut Membre Dernière intervention 27 avril 2013 1
10 janv. 2012 à 18:58
oui vous pouvez me dire dans quel Événement ça va marcher ce code :
TextBox1.Text = TextBox1.Text.Substring(0, 1).ToUpper() & _
TextBox1.Text.Substring(1).ToString
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 228
10 janv. 2012 à 19:01
Surtout pas dans l'évènement Change (car là, bien évidemment, le premier caractère frappé sera l'unique à ce moment-là ! ===>> l'erreur dont je ne cesse de te parler )
Mais tout cela me parait tellement évident que ta question me lisse très perplexe sur ce que tu fais ...


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 228
10 janv. 2012 à 19:04
ou alors (mais également vrai dans tous les cas) : ne lance cette instruction que si plus d'un caractère (simple expression conditionnelle). Tu me laisses vraiment baba, là !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Orlean2 Messages postés 50 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 1 décembre 2015
10 janv. 2012 à 19:08
Bonjour
essai sa
Private Sub Text1_Change()
c$ = UCase(Mid(Text1, 1, 1))
Text1 = c$ & Mid(Text1, 2)
Text1.SelStart = Len(Text1)
End Sub
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 228
10 janv. 2012 à 19:43
Aujourd'hui, apparemment, Orlean2 ne cesse (en peu de temps) de traiter les sujets VB.Net avec du code VB6 !
Tu es bien gentil, Orlean2. Et j'apprécie beaucoup ton "amour" (largement justifié à mes yeux) pour le code VB6 .
Mais quand même !!!!!!


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 55
10 janv. 2012 à 20:16
Où en est on ?
0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 55
10 janv. 2012 à 20:27
Bonsoir Ania
oui vous pouvez me dire dans quel Événement ça va marcher ce code :


si tu poses une telle question tu ne dois pas
comprendre ce que dois faire ton programme
0
Ania5 Messages postés 72 Date d'inscription mercredi 9 novembre 2011 Statut Membre Dernière intervention 27 avril 2013 1
16 janv. 2012 à 10:33
Merci beaucoup mdevaux62
0
Ania5 Messages postés 72 Date d'inscription mercredi 9 novembre 2011 Statut Membre Dernière intervention 27 avril 2013 1
17 janv. 2012 à 16:14
mdevaux62 : C'est exactement ça ! Un grand merci encore
0