Rechercher du texte dans un textbox et le remplacer par un autre mot

Soyez le premier à donner votre avis sur cette source.

Vue 7 933 fois - Téléchargée 616 fois

Description

À première vue, je ne vois pas la GRANDE utilité de ce code, mais c'est tout de même bon pour la culture générale.

Source / Exemple :


'Dans général déclaration de la form
Dim Found As String

Private Sub cmdSearch_Click()
'Recherche si ce qui est écrit dans txtSearch existe dans txtTexte
Found = InStr(txtTexte.Text, txtSearch.Text)
'Si le mot est trouvé
If Found <> 0 Then
'Donne le focus au textbox text1
txtTexte.SetFocus
'Commence à selectionner
txtTexte.SelStart = Found - 1
'Selectionne la longueur (len) du text dans txtsearch
txtTexte.SelLength = Len(txtSearch)
Else
txtSearch.Text = "Aucun texte trouvé"
End If
End Sub

Private Sub cmdReplace_Click()
'Recherche si ce qui est écrit dans txtSearch existe dans txtTexte
Found = InStr(txtTexte.Text, txtSearch.Text)
'Si le mot est trouvé
If Found <> 0 Then
'Donne le focus au textbox text1
txtTexte.SetFocus
'Commence à selectionner
txtTexte.SelStart = Found - 1
'Selectionne la longueur (len) du text dans txtsearch
txtTexte.SelLength = Len(txtSearch.Text)
'Le texte selectionné se fait remplacer par le texte de txtReplace
txtTexte.SelText = txtReplace.Text
Else
txtSearch.Text = "Le mot recherché est introuvable"
End If
End Sub

Conclusion :


N'hésitez à faire vos commentaires. (Constructifs si possible )

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

rotoillon
Messages postés
11
Date d'inscription
mercredi 8 mai 2002
Statut
Membre
Dernière intervention
9 septembre 2005
-
Ce code fonctionne correctement mais j'aimerais bien savoir comment on fait pour créer un bouton suivant ou précédent pour afficher le caractère suivant correspondant à la recherche!!!!

Si qqun le sait n'hésitez pas à m'écrire!!!
g.miserez@net2000.ch
cs_demon5439
Messages postés
10
Date d'inscription
lundi 25 novembre 2002
Statut
Membre
Dernière intervention
21 avril 2003
-
je te remerci pour ce code extrement simple (une fois compri !) c'est exactement se que je cherchai ... enfin non pas vraiment, mais je l'ai suivi pas a pas et l'ai modifié de maniere a se qu'il change un caractère souhaité dans un textbox. par exemple si je tape "." il sera automatiquement remplacé par ",", voila le code :

Dim remplacer
remplacer = InStr(mht.Text, ".")
' la variable "remplacer" est égale au nombre de fois que "." est présent dans le texte du textbox "mht"

If remplacer <> 0 Then ' si le nombre de fois que "." est présent dans mht.text, alors ...

mht.Focus() ' le focus est sur mht

mht.SelectionStart = remplacer - 1 ' je selectionne a partir du dernier caractere se trouvant juste avant le 1er qui "." qui a été trouvé

mht.SelectionLength = Len(",") ' la longueur du texte séléctionné est egale a la longueure du / des caractere a remplacer

mht.SelectedText = "," ' le texte selectionné (c'est a dire ".") est remplacé par ","

End If

Désolé si je suis pas très compréhensible ;) encore merci a l'auteur de ce sujet !
cs_demon5439
Messages postés
10
Date d'inscription
lundi 25 novembre 2002
Statut
Membre
Dernière intervention
21 avril 2003
-
If remplacer <> 0 Then ' si le nombre de fois que "." est présent dans mht.text EST INFERIEUR a 0, alors ...

petit détail aussi, pour que ca fonctionne dès qu'un caractere est tapé dans un textbox, il faux que ce code soit dans l'evenement "TextChanged" de ce textbox.
(scusez moi)
z980x
Messages postés
898
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
26 juillet 2007
2 -
Moi je viens de mettre 10 car je cherchais un code simple et court pour sélectionner un texte. Parfait !
Pour le reste, je n'ai pas regardé...

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.