La 1 ére lettre d'un textbox [Résolu]

Signaler
Messages postés
72
Date d'inscription
mercredi 9 novembre 2011
Statut
Membre
Dernière intervention
27 avril 2013
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
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

Messages postés
111
Date d'inscription
dimanche 24 décembre 2000
Statut
Membre
Dernière intervention
17 novembre 2012
5
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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
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)
Messages postés
72
Date d'inscription
mercredi 9 novembre 2011
Statut
Membre
Dernière intervention
27 avril 2013
1
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
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
Messages postés
72
Date d'inscription
mercredi 9 novembre 2011
Statut
Membre
Dernière intervention
27 avril 2013
1
il a affiché l'erreur : "L'index se trouve en dehors des limites du tableau."
je sais pas quel index?
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
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
Messages postés
72
Date d'inscription
mercredi 9 novembre 2011
Statut
Membre
Dernière intervention
27 avril 2013
1
ç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
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
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))
Messages postés
72
Date d'inscription
mercredi 9 novembre 2011
Statut
Membre
Dernière intervention
27 avril 2013
1
Les deux méthodes ça marche pas.
Merci
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
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
Messages postés
72
Date d'inscription
mercredi 9 novembre 2011
Statut
Membre
Dernière intervention
27 avril 2013
1
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
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
Messages postés
50
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
1 décembre 2015

Bonjour
essai sa
Private Sub Text1_Change()
c$ = UCase(Mid(Text1, 1, 1))
Text1 = c$ & Mid(Text1, 2)
Text1.SelStart = Len(Text1)
End Sub
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
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
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Où en est on ?
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
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
Messages postés
72
Date d'inscription
mercredi 9 novembre 2011
Statut
Membre
Dernière intervention
27 avril 2013
1
Merci beaucoup mdevaux62
Messages postés
72
Date d'inscription
mercredi 9 novembre 2011
Statut
Membre
Dernière intervention
27 avril 2013
1
mdevaux62 : C'est exactement ça ! Un grand merci encore