La première lettre en majuscule [Résolu]

meriemabdelouahab 6 Messages postés mercredi 13 janvier 2010Date d'inscription 23 février 2010 Dernière intervention - 21 févr. 2010 à 23:23 - Dernière réponse : mdevaux62 111 Messages postés dimanche 24 décembre 2000Date d'inscription 17 novembre 2012 Dernière intervention
- 22 févr. 2010 à 13:34
bonsoir,je veux que la première lettre dans un champ soit en majuscule,même si l'utilisateur écrit un mot en minuscule la première lettre se transférer automatiquement en majuscule,j'ai essayé truc avec substr mais sa n'a pas marché!!


merci pour votre aide
Afficher la suite 

17 réponses

Répondre au sujet
mdevaux62 111 Messages postés dimanche 24 décembre 2000Date d'inscription 17 novembre 2012 Dernière intervention - 22 févr. 2010 à 10:52
+3
Utile
Bonjour.
Pourquoi ne pas utiliser l'évènement TextChanged du TextBox.
Comme ça :

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        Dim txtBox As TextBox = DirectCast(sender, TextBox)
        If txtBox.Text.Length = 0 Then Return
        With txtBox
            Dim debutSelection As Integer = .SelectionStart
            Dim longueurSelection As Integer = .SelectionLength
            .Text = .Text.Substring(0, 1).ToUpper + .Text.Substring(1).ToLower
            .SelectionStart = debutSelection
            .SelectionLength = longueurSelection
        End With
    End Sub
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de mdevaux62
Calade 1212 Messages postés dimanche 20 avril 2003Date d'inscription 4 juin 2016 Dernière intervention - 22 févr. 2010 à 08:58
0
Utile
Bonjour,

Je ne connais pas .NET, mais regarde dans ton aide du côté de la fonction StrConv() son équivalent en VB6, tu devrais trouver ton bonheur.

Au fait quel rapport avec SQL ???

Et regarde aussi ton aide sur SubStr(), tu verras que tu ne risquais que cela marche avec elle.


Calade
Commenter la réponse de Calade
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 22 févr. 2010 à 09:03
0
Utile
certains te parleront peut etre de strconv et propercase... mais ce serait alors du VB6 utilisé sous .Net

http://www.vbdotnetheaven.com/UploadFile/jmouchett/ProperCaseVBNET03162009155416PM/ProperCaseVBNET.aspx

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 22 févr. 2010 à 09:05
0
Utile
Bonjour,

Je crois tout simplement que la "chose" peut se faire au moment même de la saisie ...
Je veux bien qu'on me coupe la tête si la textbox de VB.Net ne connait pas d'évènement KeyPress (ou équivalent VB.Net) pour y parvenir à l'aide de la fonction Ucase (ou de son équivalent VB.Net), à n'appliquer que sur la 1ère lettre (selstart ou son équivalent VB.Net) !

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Commenter la réponse de ucfoutu
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 22 févr. 2010 à 09:14
0
Utile
Perso, je sais que je n'aime pas qu'on me chiffonne ma saisie. A la perte de focus, ok, mais a la saisie, moyen.

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
cs_christoni 140 Messages postés mardi 25 novembre 2003Date d'inscription 1 novembre 2010 Dernière intervention - 22 févr. 2010 à 09:33
0
Utile
Bonjour,
en effet, je préfère le contrôle au cours du "validating".
On peut utiliser la fonction suivante :
    Public Function EpureNom(ByVal ctrlTbx As TextBox, ByVal nomEntre As String) As String

        '*** Utilisation de "Substring" qui permet de récupérer une sous-chaîne de cette instance.
        '    La sous-chaîne démarre à une position de caractère spécifiée et a une longueur définie.
        '    La sous-chaîne démarre à une position de caractère spécifiée.

        nomEntre = nomEntre.Substring(0, 1).ToUpper(Globalization.CultureInfo.CurrentCulture) & _
                   nomEntre.Substring(1).ToLower(Globalization.CultureInfo.CurrentCulture)
        Return nomEntre

    End Function


et la mettre en oeuvre, par exemple dans un Textbox, comme suit :
    Private Sub TextBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) _
    Handles TextBox1.Validating
        TextBox1.Text = EpureNom(TextBox1, TextBox1.Text)
    End Sub
Commenter la réponse de cs_christoni
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 22 févr. 2010 à 09:38
0
Utile
a quoi sert de donner Textbox1 en paramètre ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
cs_christoni 140 Messages postés mardi 25 novembre 2003Date d'inscription 1 novembre 2010 Dernière intervention - 22 févr. 2010 à 09:55
0
Utile
Dans le cas présent : à rien.
Ce bout de code est issu d'une fonction plus vaste qui gère les entrées incongrues, les espaces de trop, qui permet aussi de mettre une majuscule au début de chaque mot d'un nom composé etc.
Et aussi de gérer le TextBox en question depuis la fonction, genre :
            ctrlTbx.Text = ""
            ctrlTbx.Focus()
            Return ""
Commenter la réponse de cs_christoni
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 22 févr. 2010 à 11:22
0
Utile
pour ne pas faire la modification en live.


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 22 févr. 2010 à 11:23
0
Utile
Bonjour, mdevaux62

Pas vraiment une bonne idée . Cet évènement interviendra en effet :
- à chaque frappe d'une touche
- chaque fois, en plus, que le texte sera modifié par l'intervention précédente de l'évènemeznt


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Commenter la réponse de ucfoutu
mdevaux62 111 Messages postés dimanche 24 décembre 2000Date d'inscription 17 novembre 2012 Dernière intervention - 22 févr. 2010 à 11:26
0
Utile
Et pourtant... ça marche !
Comme quoi...
Commenter la réponse de mdevaux62
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 22 févr. 2010 à 11:29
0
Utile
Bien évidemment, que "ça marche" (encore heureux !)
C'est tout simplement à éviter (double intervention inutile de l'évènement presque à tous les coups). Tu sais ? Il est parfaitement possible également ("ça marche" aussi) de se rendre de paris à Lyon en passant par Amsterdam !

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Commenter la réponse de ucfoutu
mdevaux62 111 Messages postés dimanche 24 décembre 2000Date d'inscription 17 novembre 2012 Dernière intervention - 22 févr. 2010 à 11:36
0
Utile
Pas sûr non plus que de multiplier les tests ne soit pas au final plus long que deux appels au même évènement.
Commenter la réponse de mdevaux62
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 22 févr. 2010 à 11:39
0
Utile
n'importe comment, pas utile de faire cela en live ^^

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 22 févr. 2010 à 11:43
0
Utile
au fait, que pense tu des prénoms composés ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 22 févr. 2010 à 11:45
0
Utile
ucfoutu : ton argument est valable en VB6, dans certains controles, mais là, textchanged ne se déclanche que si le text a changé.

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
mdevaux62 111 Messages postés dimanche 24 décembre 2000Date d'inscription 17 novembre 2012 Dernière intervention - 22 févr. 2010 à 13:34
0
Utile
Pour les prénoms composés, j'aurais bien une idée aussi mais bon, comme c'est basé sur le même principe, je passe... ou plutôt je laisse à la personne intéressée le soin de trouver sa solution.

Libre après à chacun de trouver les solutions adéquates pour résoudre un problème pourvu que ça fonctionne de façon transparente pour l'utilisateur et que le code ne soit pas inutilement alourdi.
Commenter la réponse de mdevaux62

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.