Comment bien combiner StrConv et SelStart ?

Résolu
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 - 13 juin 2011 à 04:10
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 - 13 juin 2011 à 12:43
Bonjour,

j'ai un textbox nommé "txtprenom". Dans le Change de txtprenom, j'ai saisi le code suivant:
txtprenom.Text = StrConv(txtprenom, vbProperCase)
txtprenom.SelStart = Len(txtprenom)


En supposant que j'ai saisi les prénoms "Alberttyne Jeanne" dans txtprenom. Lorsque je veux supprimer le "t" en plus et remplacer le "y" par un "i", si je clique par exemple entre les deux "t" et que j'en supprime un, il me ramène automatiquement en fin de ligne alors que j'aimerai qu'il reste là-bas pour que je puisse remplacer le "y" par un "i".

Merci d'avance.

Cordialement.

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 juin 2011 à 06:01
Salut

S'il va en fin de ligne, c'est parce que tu le lui a demandé.
De toute façon, le fait de changer le texte suffit à lui faire perdre l'emplacement du curseur, le "là-bas" comme tu dis.
Il te suffit de mémoriser le SelStart avant de toucher au texte et de le remettre ensuite.
    Dim r As Long
    With txtprenom
        r = .SelStart
        .Text = StrConv(.Text, vbProperCase)
        .SelStart = r
    End With

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)
3
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 2
13 juin 2011 à 12:43
Bonjour jack et Merci pour ton aide. ça marche hyper bien, c'est vraiment tout ce que je voulais .

Parfois, je me demande si on est sur la même planète .

Encore Merci, excellente journée et prends bien soin de toi.

Cordialement.
0
Rejoignez-nous