Soyez le premier à donner votre avis sur cette source.
Vue 10 538 fois - Téléchargée 1 152 fois
'Déclaration obligatoire des variables Option Explicit 'Variable contenant la chaîne de texte à chercher dans le texte source Dim Txt_A_Chercher As String 'Variable contenant la position de départ du point d'insertion Dim Position_Start As Long 'Variable contenant le texte source dans lequel il faudra chercher Dim Txt_Source As String 'Variable contenant, au cours de la recherche, la position du point 'd'insertion à l'intérieur du texte source. Dim Position_Interne As Long 'Variable contenant le texte à chercher mis en majuscules '(utilisé si pas respect de la casse) Dim Txt_A_Chercher_MAJ As String 'Variable contenant le texte source mis en majuscules '(utilisé si pas respect de la casse) Dim Txt_Source_MAJ As String Private Sub Cmd_Find_Click() 'La variable de txt à chercher prend sa valeur Txt_A_Chercher = Txt_Find.Text 'Lance la procédure "Trouve_Le" Trouve_Le 'Donne focus à la RTBox RTBox.SetFocus End Sub Sub Trouve_Le() ' = *** LA PROCÉDURE DE RECHERCHE *** 'Position_Start = là où se trouve le point d'insertion + 1 caractère '(faut bien que ça avance) Position_Start = RTBox.SelStart + 1 'Le TXT source, c'est le texte du RTBox Txt_Source = RTBox.Text '1/ LA CASSE : Si pas respect de la CASSE, les chaînes "à chercher" 'et "source" sont converties en majuscules. Ainsi, quelle que soit 'l'écriture du texte, aucune ambiguïté ne sera présente lors de la 'recherche. 'Value = 0 = Unchecked = pas respect de la casse If Chk_Casse.Value = 0 Then Txt_A_Chercher_MAJ = UCase(Txt_A_Chercher) Txt_A_Chercher = Txt_A_Chercher_MAJ Txt_Source_MAJ = UCase(Txt_Source) Txt_Source = Txt_Source_MAJ End If 'Value = 1 = Checked = respect de la casse If Chk_Casse.Value = 1 Then Txt_Source = Txt_Source Txt_A_Chercher = Txt_A_Chercher End If '2/ OPTION VERS LE BAS / HAUT 'Si option Bas activée... If Opt_Bas(1).Value = True Then 'C'est l'utilisation de la fonction InStr qui indique la position de la 'première occurence d'une chaîne à l'intérieur d'une autre chaîne. 'Syntaxe : InStr([start, ]string1, string2[, compare]) Position_Interne = InStr(Position_Start + 1, Txt_Source, Txt_A_Chercher) 'Si option Haut activée... Else 'Recule par pas de 1 caractère For Position_Interne = Position_Start - 1 To 0 Step -1 'Revenu au début du RTBox => sortie de boucle If Position_Interne = 0 Then Exit For 'Si texte trouvé (fonction MID) => sortie de boucle. 'Syntaxe : Mid(string, start[, length]) 'Pour déterminer le nombre de caractères contenus dans l'argument 'string, on utilise la fonction "Len". If Mid(Txt_Source, Position_Interne, Len(Txt_A_Chercher)) = Txt_A_Chercher Then Exit For Next End If '3/ TEXTE TROUVÉ ? 'a) Le texte est trouvé ... If Position_Interne Then 'Point de départ de la sélection (mise en surbrillance) RTBox.SelStart = Position_Interne - 1 'Longueur de txt à sélectionner (mettre en surbrillance) RTBox.SelLength = Len(Txt_A_Chercher) 'Un beep si txt trouvé Beep 'b) Le txt n'est pas trouvé ou retour au début du RTBox ... Else Dim Msg, Réponse Msg = "Impossible de trouver : " & Chr(34) & Txt_A_Chercher & Chr(34) Réponse = MsgBox(Msg, 0, App.Comments) End If End Sub Private Sub Form_Load() 'A l'ouverture, Bouton "Chercher" = inactif. Cmd_Find.Enabled = False 'Option "Recherche vers le Bas" = sélectionné. Opt_Bas(1).Value = True End Sub Private Sub Txt_Find_Change() 'Si pas de texte à rechercher,Bouton "Chercher" = inactif. If Txt_Find = "" Then Cmd_Find.Enabled = False 'Si présence de texte à chercher, Bouton "Chercher" = actif. Else Cmd_Find.Enabled = True End If End Sub
15 mai 2005 à 21:57
Faire une recherche sur le WebBrowser avec la méthode exposée dans ce code ne me paraît pas possible. Je ne vois pas bien comment m'y prendre pour y arriver.
Désolé.
Salut
15 mai 2005 à 12:06
c'est bien ...bravo
mais j'ai un probleme que je n'arrive pas
a resoudre . mon probleme est le suivant:
est ce que vous pouvez faire la meme chose
avec webbrowser a la place de richtextbox
sans appelez la methode findtext de IE
28 janv. 2005 à 22:57
merci !
il sagit bien de ce que je cherchait
9/10 ! bravo
21 oct. 2003 à 11:43
ce code est bien documenté !!
ça aide vraiment !!
25 févr. 2003 à 18:50
merci beaucoup ! un p'tit 9/10
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.