OVH Cloud OVH Cloud

insertion de texte

5 réponses
Avatar
PatLabor
Bonjours à tous

est il possible d'inserer une donnée (texte ou nombre peu importe) dans un
texte dans le cas suivant:
un cadre texte avec le curseur à n'importe quel endroit dedans,
une valeur obtenue et inserée en cliquant sur un bouton

Il faudrait pouvoir connaitre et enregistrer la position du curseur au sein
du texte (ce que je ne sait pas faire), et en VBA utiliser inStr ( là pas de
problème)
A moins qu'il y ait une autre méthode

Merci pour toute réponse

5 réponses

Avatar
Gafish
Bonjour,

Pour récupére la position du curseur, utilise la propriété SelStart de ta
zone de texte.
Attention toutefois, pour que la propriété marche, la zone de texte doit
avoir le focus, et quand tu cliques sur le bouton, ta zone perd le focus et
tu risques d'avoir un message d'erreur.
Il faut donc que tu stockes quelque part (zone de texte cachée, variable
globale au form...) la position du curseur à la perte de focus de ta zone
(utilise l'evenement lost focus de ta zone de texte) et ensuite tu pourras
réutiliser cette valeur dans l'evenement clic sur ton bouton.

Arnaud

"PatLabor" <patrice.poitevin@(à effacer)wanadoo.fr> a écrit dans le message
news: eis#
Bonjours à tous

est il possible d'inserer une donnée (texte ou nombre peu importe) dans un
texte dans le cas suivant:
un cadre texte avec le curseur à n'importe quel endroit dedans,
une valeur obtenue et inserée en cliquant sur un bouton

Il faudrait pouvoir connaitre et enregistrer la position du curseur au
sein

du texte (ce que je ne sait pas faire), et en VBA utiliser inStr ( là pas
de

problème)
A moins qu'il y ait une autre méthode

Merci pour toute réponse




Avatar
PatLabor
Merci Gafish, je vais essayer de suite.
Avatar
PatLabor
Et ZUT

cela marche ... de temps en temps

j'ai l'impression qu'il ne prend en compte que le texte déjà enregistré, pas
celui que je vient de taper

il me donne 0, alors que je suis à la fin de 4 lignes!

y a t'il une solution ??
Merci pour l'aide
Avatar
Raymond [mvp]
Bonjour.
pour insérer un texte composé dans le contrôle précédent, dans un contrôle
texte, il faut faire:
soit texte48 le contrôle texte qui contient 1234567890 et dans lequel il
faut insérer le contenu du contrôle précédent de valeur ABCD entre le 5 et
le 6 pour obtenir une nouvelle valeur 12345ABCD67890 dans texte48.
composer ABCD dans le contrôle précédent, cliquer entre le 5 et le 6 dans
texte48.

Private Sub Texte48_Click()
Me.Texte48 = Left(Me.Texte48.Text, Me.Texte48.SelStart) &
Screen.PreviousControl & Mid(Me.Texte48.Text, Me.Texte48.SelStart + 1)
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"PatLabor" <patrice.poitevin@(à effacer)wanadoo.fr> a écrit dans le message
de news:
Et ZUT

cela marche ... de temps en temps

j'ai l'impression qu'il ne prend en compte que le texte déjà enregistré,
pas
celui que je vient de taper

il me donne 0, alors que je suis à la fin de 4 lignes!

y a t'il une solution ??
Merci pour l'aide




Avatar
PatLabor
Merci Raymond

je vais inverser mes procédures

Le lointain cousin (en attente de paiement)