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

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:15
mdevaux62 :
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
17 janv. 2012 à 17:53
Bonjour Ania5

peux tu me dire pourquoi le code de
mdevaux62 te convient
et les autres propositions non
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 à 18:18
Bonjour ShayW
Pour les autres propositions je peux pas au même temps écrire dans le textbox et il s'affiche la première lettre en majuscule et les autres (s'il y a bien sur) en minuscule et si le textbox est vide il affiche un bug.Par contre le code de mdevaux62 il me convient.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
17 janv. 2012 à 19:38
Et pourtant !....
obliger ainsi à passer sous les fourches caudines d'une fonction à chaque fois que change la saisie (et donc deux fois, en plus, lorsque on modifie la première lettre) est tout, sauf le plus adroit.


____________________
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
mdevaux62 Messages postés 111 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 17 novembre 2012 7
18 janv. 2012 à 06:50
C'est vrai que l'évènement Change du Textbox est appelé 2 fois mais bon, à défaut d'être "adroit", ça marche à tous les coups et ça reste transparent pour l'utilisateur.

Des cycles "bouffés pour rien", certes, mais ce genre de code n'intervient pas, je pense, dans le cadre de la conception d'un programme où la vitesse est promordiale tel qu'un jeu d'action par exemple.

Bonne journée à tous.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 janv. 2012 à 07:15
A mdevaux62
Si tu veux vraiment gérer pendant la saisie plutôt qu'à la sortie, gère alors avec le KeyPress


____________________
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
mdevaux62 Messages postés 111 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 17 novembre 2012 7
18 janv. 2012 à 09:41
Possible aussi.

Voir ensuite si le nombre de conditions à vérifier n'alourdira pas davantage le code et sa rapidité.
Car il se suffit pas de mettre la première lettre en majuscule, il faut aussi mettre les autres en minuscules,traiter la suppression d'une lettre ou d'une partie du mot au début, traiter le copier/coller, etc.
C'est je pense, mais ce n'est pas que mon avis, bien cher payer une simplicité qui n'a pour principal grief que de s'auto-appeler.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 janv. 2012 à 10:11
Bref ...
Une chose est certaine : la meilleure manière de procéder (et la moins chère et la moins lente) est (dit ici une fois de plus. On commence à en prendre l'habitude) de laisser l'utilisateur saisir et d'intervenir à la sortie de la textbox.
Ce n'est pas Renfield qui me démentira (salut à toi, Renfield)
____________________
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
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
24 janv. 2012 à 15:49
Tiens mais pourquoi je suis ici moi ? Ce n'est pas le sujet sur le quel je voulais aller
Enfin bon, j'ai lut et donc je répond.

Oulalalala ATTENTION AVEC CE GENRE DE CODE :
.SelectionStart = selectionDebut
.SelectionLength = selectionLongueur

Car en cas de sélection faite de droite à gauche ta sélection est "retourné" (soit passe de droite à gauche à de gauche à droite, je pense que je ne suis pas claire. J'ai du mal à me faire comprendre sur ce point a chaque fois )
Un problème qui vas bientôt nous donner un ulcère à ucfoutu et à moi (coucou ucfoutu ).

Enfin bref fait plutôt ça :
Private Sub TextBox1_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBoxFTFBnLigneIgnorFin.Validated
        MajusculeAuDebut(sender)
    End Sub

    Private Sub MajusculeAuDebut(ByVal monTextBox As TextBox)
        With monTextBox
            If .Text.Length = 1 Then
                .Text = .Text.Substring(0, 1).ToUpper
            ElseIf .Text.Length > 1 Then
                .Text =  .Text.Substring(0, 1).ToUpper & .Text 'Pourquoi ".Text.Substring(1).ToLower" ? il faut aussi supprimer les éventuelles majuscules des autres lettres ???
            End If
        End With
    End Sub

Oui c'est moins jolie car ce n'est fait qu'au moment de quitter le textebox mais tu vas éviter BEAUCOUP de prise de tête sur ce problème de sélection
Même qui si c'est vrais que vue que tu bosse sur le textchange (et non le "SelectionChanged") ce problème est moindre.
Enfin tout ça pour dire : méfiance sur les modifications de "SelectionStart" et "SelectionLength"

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
24 janv. 2012 à 15:51
Oups un petit oublie dans le code, version corrigée :
Private Sub TextBox1_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBoxFTFBnLigneIgnorFin.Validated
        MajusculeAuDebut(sender)
    End Sub

    Private Sub MajusculeAuDebut(ByVal monTextBox As TextBox)
        With monTextBox
            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) 'Pourquoi ".ToLower" ? il faut aussi supprimer les éventuelles majuscules des autres lettres ???
            End If
        End With
    End Sub



Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
0
mdevaux62 Messages postés 111 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 17 novembre 2012 7
24 janv. 2012 à 22:45
Je ne vois pas en quoi mon code ne marche pas (j'ai testé dans tous les sens) mais bon je ne vais pas non plus polémiquer ad vitam eternam...
0
Ania5 Messages postés 72 Date d'inscription mercredi 9 novembre 2011 Statut Membre Dernière intervention 27 avril 2013 1
25 janv. 2012 à 10:20
Bonjour mdevaux62,
Ton code ça marche bien pour moi aussi .Merci
0
mdevaux62 Messages postés 111 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 17 novembre 2012 7
25 janv. 2012 à 10:57
Oups ! Oublié...
Après c'est sûr je ne dis plus rien.

Polack77 tu indiques en commentaire :
'Pourquoi ".Text.Substring(1).ToLower" ? il faut aussi supprimer les éventuelles majuscules des autres lettres ???

Ma réponse :
Ben oui ! Si je colle (CTRL+V) au milieu du texte l'expression "NOM DE DIOU", en majuscules donc, il faudra bien remettre cette portion en minuscules non ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
25 janv. 2012 à 11:08
Pas nécessairement, mdevaux62 !
Tu extrapoles là la demande faite. Il n'y est nulle part dit que les majuscules déjà éventuellement présentes doivent passer en minuscules. Il y est seulement dit (un peu maladroitement, certes) qu'il convient d'agir (passer en majuscule) sur la seule première lettre.

Et les cas où deux (ou plus) majuscules peuvent être nécessaires sont nombreux, notamment dans les Patronymes, dont ma 1ère lettre est forcément majuscule, sans que pour autant ce soit nécessairement la seule majuscule dans le patronyme.



____________________
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
mdevaux62 Messages postés 111 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 17 novembre 2012 7
25 janv. 2012 à 11:41
Mmmm!
Postulat du départ :

"...j'aimerais 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)..."
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
25 janv. 2012 à 11:56
J'ai plus haut fait allusion à la maladresse fréquente dans l'expression de "postulats" .

Et à ce propos : si toi, tu as vraiment pris à la lettre (et sans jeu de mots ) l'expression de ce "postulat" ===>> ton code est faux !


____________________
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
mdevaux62 Messages postés 111 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 17 novembre 2012 7
25 janv. 2012 à 12:12
Ah bon ?
0
Ania5 Messages postés 72 Date d'inscription mercredi 9 novembre 2011 Statut Membre Dernière intervention 27 avril 2013 1
25 janv. 2012 à 12:15
non c'est pas vrai mdevaux62 ton code est ce que j'ai besoin
0
Utilisateur anonyme
25 janv. 2012 à 12:23
Salut,

Je ne voulais pas me prononcer sur cette question, mais...

Juste une opinion:
Je trouve que le restant du texte devrait rester tel que l'utilisateur l'a écrit, puisque nous ne savons pas s'il a tapé des noms ou encore un exemple le mot "homme", qui veut dire un homme, ou "Homme" qui veut dire l'humanité

Exemple: "Bonjour, Ania va terminer cette discussion"
Le A doit rester en majuscules non?

Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
Ania5 Messages postés 72 Date d'inscription mercredi 9 novembre 2011 Statut Membre Dernière intervention 27 avril 2013 1
25 janv. 2012 à 12:30
oui acive ça peut convient dans les textbox qui contient des blabla comme les descriptions et pour le code de mdevaux62 peut marcher avec les textbox concernant le nom et le prénom d'un utilisateur.
0
Rejoignez-nous