Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RECHERCHE D'UNE CHAINE DANS UNE AUTRE + GESTION D'ERREUR + COMMENTAIRE


Information sur la source

Catégorie :Texte Classé sous : fonction, recherche, chaine, caractère, instr Niveau : Initié Date de création : 17/02/2006 Date de mise à jour : 18/02/2006 18:53:57 Vu / téléchargé: 10 561 / 1 346

Note :
Aucune note

Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Bonjour,
J'ai fait cette fonction qui permet la recherche d'un caractère ou d'une chaine de caractère dans une chaine.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

18 février 2006 18:53:58 :
Bonsoir, Voila la V2. J'ai essayé d'améliorer cette source en y ajoutant certains paramètres supplémentaires, cependant après multiples essais d'amélioration d'optimisation de rapidité du code, je n'ai pas réussit a booster tous ca. Si quelqu'un trouve une astuce merci le la partager. ABF

Commentaires et avis

signaler à un administrateur
Commentaire de ABF le 17/02/2006 16:50:42

Gestion d'erreur = vérification de la longueur de chaine...
Oups Désolé pour l'.exe je l'ai vu trop tard

Merci de laisser vos commentaire et notes.

ABF

signaler à un administrateur
Commentaire de babboss le 17/02/2006 18:16:19

Salut,
Il ya deja une fonction en VB pour faire ca ;)
InStr(La_Ou_On_Commence_A_Chercher, String_Dans_Laquelle_Chercher, String_A_Trouvé)

exemple:
Chaine = "totoabcdMuhahahaLOL32687"
Position = Instr(0, Chaine, "LOL")

On a position qui vaut : 17

Voila @++

signaler à un administrateur
Commentaire de schtroumf le 17/02/2006 18:17:41

Ton code est bien commenté et bien indenté mais je n'en vois pas vraiment le but. En effet il existe une fonction qui s'appelle InStr qui fait ça toute seule très bien, qui effectue la vérification de longueur des chaine et renvoit la position de la première occurrence...

signaler à un administrateur
Commentaire de ABF le 17/02/2006 18:51:22

Bonsoir,

Justement, j'ai fait cela pour les débutants qui voudraient s'initier aux boucles mais aussi pour expliquer comment fonctionne cette fonction VB. Et je pense qu'avec ma source il est possible de faire des chose plus chiadés en la modifiant qu'avec Instr.

ABF

signaler à un administrateur
Commentaire de schtroumf le 17/02/2006 19:34:37

Ha ok, mais il faudrait que tu précises que ta source a un caractère plus pédagogique qu'utile tel quelle :)

signaler à un administrateur
Commentaire de DARKSIDIOUS le 17/02/2006 19:54:55 administrateur CS

Oui tout à fait, surtout que la fonction InStr doit être plus rapide que la tienne, donc évitez d'utiliser cette fonction si votre seul but est de trouver l'occurence d'une chaîne dans une autre : la fonction InStr donnera le même résultat en plus rapide.

DarK Sidious

signaler à un administrateur
Commentaire de MasterHack le 17/02/2006 22:49:48

bravo, vraiment!!
1-meme si,je peux me tromper,tu ne cainnaisser pas la fonction instr ou meme instrrev, tu as penser a creer une solution au cas present.bien pensé

signaler à un administrateur
Commentaire de katsankat le 18/02/2006 01:46:42


Bonjour,

Si c'est fait pour expliquer comment fonctionne InStr, il reste des choses à faire car InStr():

- accepte un argument supplémentaire: la position de départ
- prend également un 4e paramètre, facultatif (comparaison binaire et respect de la casse).
- retourne 0 si la chaine 1 est nulle
- retourne 0 si la chaine 2 est introuvable
- retourne 0 si posdépart > len(chaine2)
- retourne NULL si string 1 est NULL
- retourne NULL si string 2 est NULL
- retourne posdepart si string2 est de longueur nulle
- sinon retourne la position à laquelle la chaine 1 est trouvée.
Or la fonction ne retourne rien.

Déclarer 7 variants ça fait beaucoup juste pour obtenir une position.
J' explique: en faisant
    Dim a, b, FinTxt, LongTxtTot, LongTxtRech As Long

    Dim L1TxtTot, L1txtRech, MotTxt, MotRech As String
Tu déclares 7 variants, 1 long et 1 string. Un variant est stocké sur 22 octets+la longueur de la chaîne...

Dans:
        MotRech = vbNullString

        LongTxtRech = Len(MotRech)
...La fonction len() pourrait être évitée.

C'est un bon début.

signaler à un administrateur
Commentaire de ABF le 18/02/2006 09:49:51

Bonjour,

J'ai testé la rapidité des 2 codes soit : Instr() et ma fonction et y'a pas photo , la fonction est plus lente.
Pour katsankat: j'ai dit plus haut qu'il était possible d'allonger les possibilités de paramètres commes celles que tu as cité. De plus, pour les variants, y'a juste à mettre les variables les unes au dessous des autres donc je vais refaire cela dès que possible (pas complet car ce n'est pas mon objectif principale et que la ci belle fct Instr() existe).
Voila

Merci de vos commentaires.

ABF

signaler à un administrateur
Commentaire de ABF le 18/02/2006 18:54:41

Voilà : "améliorations"

signaler à un administrateur
Commentaire de Rahemm le 01/04/2006 01:26:39

slt merci pour le code mais slp vous pouver m'aide a faire un code de recherch sur un bas de donne (titre de livre par ex)
et en resultat s'afich tt les info consernon cee livre
merci

signaler à un administrateur
Commentaire de parker13 le 07/07/2006 15:29:50

Mais comment faire une recherche d'une chaine de caractères dans un fichier ?

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

--Recherche d'1 caractère ds une chaine de carac [ par ckoo ] Je voudrais rechercher si il y a un "@" dans une chaine de caractère afin de vérifier la validité d'un champ de saisie de mail !merci d'avance Recherche d'une petite fonction en VBA 6.0!!! [ par jcconi ] est ce que qqun aurai sous la main une fonction qui transformerai une chaine de caractère en nombre: ex '00022100' en 22100 et reciproquement un nombr Vérification de la presence d'une chaine de caractère dans une autre [ par hasen ] Bonjour, bonjourJe voudrais savoir si qqun n'a pas sous la main une fonction toute faite en vba qui lorsqu'on lui passe deux chaine de caractères, per Recherche dans une chaine de caractère en vba [ par hasen ] Salut!Je voudrais savoir si qqun n'a pas sous la main un petit programme qui permettrais de récuperer les deux premiers chiffre d'un nombre.Merci d'av Recherche d'une chaine de caractère dans page html [ par Chewba ] Bonjour à tous,Je suis occupé à faire une application dans le style de la source : "http://www.vbfrance.com/code.aspx?ID=18579", qui va rechercher les interpreter une chaine de caractère [ par kalipso_web ] bonjour,je suis etudiant en info, et je debute en C++, je souhaiterai savoir s'il existe une fonction permettant d'interpreter une chaine de caractère interpreter une chaine de caractère [ par kalipso_web ] bonjour,je suis etudiant en info, et je debute en C++, je souhaiterai savoir s'il existe une fonction permettant d'interpreter une chaine de caractère interpreter une chaine de caractère [ par kalipso_web ] bonjour,je suis etudiant en info, et je debute en C++, je souhaiterai savoir s'il existe une fonction permettant d'interpreter une chaine de caractère recherche en partant de la fin d'une chaine de caractère [ par xpwindaube ] svp quelqu'un pourrait me dire comment faire pour faire une recherche en partant de la fin d'un texte ?enfaite je recherche un mot dans une richbox ma Echange de chaine de caractère entre structure (par fonction et pointeurs) [ par loic911 ] Salut, J'ai deux structures: Patients et Org. La première répertorie un certain nombre de patient et l'autre copie leur numéros et leur


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.