cs_NoMitsu
Messages postés122Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention15 février 2011
-
25 août 2003 à 22:36
analexploitation
Messages postés5Date d'inscriptionsamedi 6 septembre 2003StatutMembreDernière intervention 8 mai 2005
-
8 mai 2005 à 13:19
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
analexploitation
Messages postés5Date d'inscriptionsamedi 6 septembre 2003StatutMembreDernière intervention 8 mai 2005 8 mai 2005 à 13:19
une simple question, j'aimerai lui trouver une reponse
est il possible de faire le meme chose avec un textbox
contenant le text a rechercher et un webbrowser contenant un document html sans appeler la method findtext de IE.
merci
pcpunch
Messages postés1243Date d'inscriptionmardi 7 mai 2002StatutMembreDernière intervention18 février 20195 10 sept. 2003 à 12:03
Effectivement meaculpa, c'est franchement plus rapide!!! donc Utiliser la fonction de NoMitsu, On peu pas étre le meuilleur a chaque fois lol. Merci ca m'aura appris a utiliser Instr!!!!!
Tilois
Messages postés721Date d'inscriptiondimanche 10 juin 2001StatutMembreDernière intervention27 mars 20117 26 août 2003 à 15:13
Ouais, j'ai fait le meme test et y'a pas photo, Instr est vraiment bcp plus rapide... Sinon, l'idée n'était pas trop mal
sedimax
Messages postés2Date d'inscriptionvendredi 25 avril 2003StatutMembreDernière intervention26 août 2003 26 août 2003 à 02:23
it excuses you know how gustaria to know to me if me podrias to recommend a pagina to learn VBA. please the urgent nesecito, my name is Diego sevilla.mi mail is dsevilla_cruz@hotmail.com I wait for your aid.
cs_NoMitsu
Messages postés122Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention15 février 2011 25 août 2003 à 22:36
Salut, le code marche inpec mais n'est pas tres rapide a cause de la boucle for next
pour exemple g fait un test (avec un athlon XP 1600+ et 512Mo de DDR) avec ta fonction sur une recherche qui contenait 20500 caratere il ma falu 23 secondes alors que si on remplace la boucle par instr on obtien avec la meme config et le meme nombre de ligne 0 seconde pour trouver la chaine.
voila un petit bout de code a pofiner qui devrais te permetre d'optimiser les performances:
Public Sub RechercheTxt(Source As TextBox, Txt As String, Optional NoDiffMajMin As Boolean = False)
Dim DebutStr As Integer
Select Case NoDiffMajMin
Case True 'Pas de respet Min/maj
If Source.SelStart 0 And Source.SelLength 0 Then
DebutStr = InStr(Source.SelStart + 1, UCase(Source.Text), UCase(Txt))
Else
DebutStr = InStr(Source.SelStart + Source.SelLength, UCase(Source.Text), UCase(Txt))
End If
Case False 'Respet Min/maj
If Source.SelStart 0 And Source.SelLength 0 Then
DebutStr = InStr(Source.SelStart + 1, Source.Text, Txt)
Else
DebutStr = InStr(Source.SelStart + Source.SelLength, Source.Text, Txt)
End If
End Select
If DebutStr = 0 Then MsgBox "Fin de la recherche": Exit Sub
Source.SelStart = DebutStr - 1
Source.SelLength = Len(Txt)
Source.SetFocus
End Sub
Elle sutilise comme ta fonction.
A++ et bonne continuation
8 mai 2005 à 13:19
est il possible de faire le meme chose avec un textbox
contenant le text a rechercher et un webbrowser contenant un document html sans appeler la method findtext de IE.
merci
10 sept. 2003 à 12:03
26 août 2003 à 15:13
26 août 2003 à 02:23
25 août 2003 à 22:36
pour exemple g fait un test (avec un athlon XP 1600+ et 512Mo de DDR) avec ta fonction sur une recherche qui contenait 20500 caratere il ma falu 23 secondes alors que si on remplace la boucle par instr on obtien avec la meme config et le meme nombre de ligne 0 seconde pour trouver la chaine.
voila un petit bout de code a pofiner qui devrais te permetre d'optimiser les performances:
Public Sub RechercheTxt(Source As TextBox, Txt As String, Optional NoDiffMajMin As Boolean = False)
Dim DebutStr As Integer
Select Case NoDiffMajMin
Case True 'Pas de respet Min/maj
If Source.SelStart 0 And Source.SelLength 0 Then
DebutStr = InStr(Source.SelStart + 1, UCase(Source.Text), UCase(Txt))
Else
DebutStr = InStr(Source.SelStart + Source.SelLength, UCase(Source.Text), UCase(Txt))
End If
Case False 'Respet Min/maj
If Source.SelStart 0 And Source.SelLength 0 Then
DebutStr = InStr(Source.SelStart + 1, Source.Text, Txt)
Else
DebutStr = InStr(Source.SelStart + Source.SelLength, Source.Text, Txt)
End If
End Select
If DebutStr = 0 Then MsgBox "Fin de la recherche": Exit Sub
Source.SelStart = DebutStr - 1
Source.SelLength = Len(Txt)
Source.SetFocus
End Sub
Elle sutilise comme ta fonction.
A++ et bonne continuation