begin process at 2012 02 13 23:41:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Algorithme

 > 

Maths

 > 

recherche complexe dans une chaine


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

recherche complexe dans une chaine

vendredi 13 février 2009 à 11:57:36 | recherche complexe dans une chaine

Pirotes31

Bonjour,
voici mon problème :
je dois chercher dans une chaine de caractère si un numéro est présent, quand dans cette chaine il y a un intervalle de numéro. Plus concrètement voici le type de chaine que je peux avoir :
" le numéros vont de (1000>9000)"
Mais j'ai aussi certaines chaines qui peuvent être sous la forme :
" si numéro > 100 alors"
Je pensais biensûr utiliser la fonction InStr, et me baser sur le caractère ">", mais je n'arrive pas à bien organiser mon raisonnement...
dès que j'ai pu déterminer l'intervalle, je ferais évidemment une boucle pour tester si mon numéro donné au départ est bien dans l'intervalle.
Pouvez-vous m'aider? Avez-vous des pistes?
D'avance merci pour vos réponses.
Cordialement,
Pirotes31.
vendredi 13 février 2009 à 13:48:24 | Re : recherche complexe dans une chaine

jack

Administrateur CodeS-SourceS
Réponse acceptée !
Salut
Comme tu l'as pensé, il faut isoler le terme important dans ce texte.
Il est donc primordial que le texte se présente toujours sous la même forme :
   (1000>9000)
ne sera pas la même chose que 
   (1000 > 9000)

--> En plus de Instr, il y a un outil très pratique pour faire du découpage : Split
Il converti une chaine de caractères en un tableau de chaine en se basant sur un caractère, exemple :
   Dim mTableau() As String
   mTableau = Split(" le numéros vont de (1000>9000)", " ")

renverra un tableau de chaine (colonne de gauche = index du tableau) :
   0 : "" car il y a un espace en tête de chaine
   1 : "le"
   2 : "numéros"
   3 : "vont"
   4 : "de"
   5 : "(1000>9000)"
Le nombre maxi de chaines dans le tableau est donné par UBound(mTableau)
Cela peut-être un bon début pour isoler les chiffres, sachant qu'un second Split :
   Dim mXXX() As String
   mXXX = Split(mTableau(5), ">")

te donnera
   0 : "(1000"
   1 : "9000)"

etc ...

Si tu fais un Split de ton texte initial avec le ">" comme séparateur :
1ère chaine :
   Dim mTableau() As String
   mTableau = Split(" le numéros vont de (1000>9000)", ">")

donnera
   0 : " le numéros vont de (1000"
   1 : "9000)"

Pour la 2ème chaine :
   Dim mTableau() As String
   mTableau = Split(" si numéro > 100 alors", ">")

donnera
   0 : " si numéro "
   1 : " 100 alors"

Voir aussi Trim (LTrim / RTrim)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
vendredi 13 février 2009 à 15:09:03 | Re : recherche complexe dans une chaine

Pirotes31

Re bonjour,

un grand merci pour ta réponse qui va m'être très utile dans mon travail, et grâce à ton aide, je vais peut-être retarder ma date de licenciement... (je n'exagère pas tant que cela malheureusement).
Heureusement qu'il y a des gens comme toi pour partager le savoir.
Encore un grand merci du fond du coeur. :-)
Pirotes31.
vendredi 13 février 2009 à 16:32:15 | Re : recherche complexe dans une chaine

jack

Administrateur CodeS-SourceS
Très sympatiques ces remerciements, j'apprécie


Cette discussion est classée dans : recherche, chaine, numéro, complexe, intervalle


Répondre à ce message

Sujets en rapport avec ce message

Recherche de chaine dans fichier texte [ par dbonansea ] Comment obtenir la liste des fichiers contenant une chaine de caractère déterminée (l'équivalent de Démarrer-Rechercher-Tousfichiers-ContenantLeTexte) - recherche ds chaine de carac [ par ckoo ] Je voudrais rechercher dans une chaine de caractère (saisie dans une textBox) si il y a des cractères autres que des chiffres.Comment vérifier aussi q --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 du numéro du FAI appelé lors d'une Conexion [ par paf24 ] Bonjour,je voudrais faire un compteur internet (ceux disponible sur le net ne me conviennent pas), mais il me manque un code pour le réaliser : la dét recherche [ par titi4333 ] bonjour,voilà, je dois réaliser une application et g un tit problème dans une de mes recherches!En fait, je dois saisir le numéro d'un dossier que je 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 recherche d'une chaine ds une otre !!!! [ par gotrano ] Salut !Pouvez vous me trouver un code permettant la recherche d'une chaîne dans une autre ! merci d'avance ! Recherche de chaine de caractères [ par bodylovebis ] Bonjour j'aimerais en VB.net chercher une chaine de caractère dans une autre chaine de caractères. Comment faire ? J'ai trouvé quelque chose qui me pa Visio2000 et VBA : recherche de chaine de caractères [ par Ophilippe ] Comment faire sous vba/visio2000 l'équivalent du menu Edition/rechercher (sans afficher l'écran recherche bien sur) ?J'ai eu la mauvaise surprise de c [VB.Net]Recherche chaine [ par ZogStriP ] Je voudrais savoir si il n'existe pas une fonction de recherche dans le FMW .Net ??MerciZogStriPIA pour : Incomplet de l'Ancéphale http://blog.develop


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,044 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales