extraire un seul mot avec vb

extraire un seul mot avec vb - VB/VBA/VBS - Programmation

Marsh Posté le 30-05-2005 à 14:36:55    

bonjour  
je cherche à extraire un seul mot d'un champ qui peut en choisir plusieurs
je ne sais pas si je me fais bien comprendre...
en fait, au moyen de left et de right, je recherche le début et la fin du mot, j'extrais les caractères qui se trouvent entre les 2 extrémités et j'obtiens le mot  
j'ai auparavant supprimé les espaces du début et de la fin avec LTrim et RTrim
mais je ne parviens à extraire le mot  
:(
help me please
 
merci d'avance

Reply

Marsh Posté le 30-05-2005 à 14:36:55   

Reply

Marsh Posté le 30-05-2005 à 15:04:05    

dim mot = ton_mot As String
dim NouveauMot As String
dim gauche as Integer ' le nombre de caracteres a gauche
dim droite as Integer ' le nombre de caracteres a droite
NouveauMot = left(mot, gauche) & right(mot,droite)
 
Ca ne marche pas ? Ou est la difficulté ?

Reply

Marsh Posté le 30-05-2005 à 15:24:15    

je ne connais pas le nombre de caractère espace à extraire : il peut être variable voire inexistant
je pensais plutôt à une structure du type :  
for i=1 to len(mot)
if caractere = right (left (mot, i)), 1) <> ' ' Then
mot = caractere + mot
end if
next (i)
 
l'enchainement de right et left avec le paramètre 1 pour right permet d'avancer caractère par caractère dans le champ.
mais visiblement, ca ne fonctionne pas...

Reply

Marsh Posté le 30-05-2005 à 19:14:21    

Donne-nous un exemple concret d'un contenu et de ce que tu veux extraire ainsi que la version d'Office (ou de VB) que tu utilises.


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 31-05-2005 à 21:44:42    

Ca va pas??????
Tu as une instruction qui fait cela tres judicieisement. C'est INSTR, tu lui donnes le mot string, la chaine string ou chercher, et le début de la chaine integer, pour démarrer la recherche
Instr$ te renvoie la position, ensuite tu obtiens le mot avec la position dans la chaine et la longueur via l'instruction MID$
Voilà
En gros
chaine$= la chaine de caracteres string
debut%= le premier caractere au départ 1
motcherché$= le mot en question
donc:
position%=instr(debut%,chaine$,motcherché$)
extraction:
motextrait$=mid$(chaine$,position%,len(motcherché$))
ensuite pour aller chercher le suivant
remplace debut% par debut% = position£+len(motcherché$
ensuite tu peux remplacer le mot par un autre string etc..
 
etc...
Voila j'ai essayé d'etre clair.
Alain


---------------
Alain Boyer
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed