Cherche méthode simple de recherche de chaine de caractères

Résolu
Tanaka56
Messages postés
124
Date d'inscription
samedi 8 avril 2006
Statut
Membre
Dernière intervention
29 janvier 2009
- 27 juin 2008 à 10:55
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
- 27 juin 2008 à 16:38
Bonjour à tous,


Je souhaiterais récupérer dans un fichier comme ci-dessous les nom, prénom, adresse, code postal et ville.


Existe-t-il une solution simple?


Merci d'avance pour vos réponses. Cordialement



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




8900020396619(@@@)00(@@@)COLD(@@@)(@@@)155(@@@)LAURENT MARTIN(@@@)5 RUE MARECHAL(@@@)(@@@)CODE GRILLE 440(@@@)75012(@@@)PARIS(@@@)FR(@@@)

7 réponses

NHenry
Messages postés
14941
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
20 juin 2022
161
27 juin 2008 à 11:10
Bonjour,

Essaye avec Split

http://nhen0039.chez-alice.fr/index.php
3
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
27 juin 2008 à 11:10
voir Split
avec (@@@) comme séparateur

te découpera la chaine en autant d'elements...

Dim sBuffer as string
dim xsParts() as string
sBuffer = "8900020396619(@@@)00(@@@)COLD(@@@)(@@@)155(@@@)LAURENT MARTIN(@@@)5 RUE MARECHAL(@@@)(@@@)CODE GRILLE 440(@@@)75012(@@@)PARIS(@@@)FR(@@@)"

xsParts = Split(sBuffer, "(@@@)")

sNom = xsParts(5)
sAdresse = xsParts(6)
sCP = xsParts(9)
sVille = xsParts(10)
3
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
27 juin 2008 à 11:16
salut,

tite modif du code de Renfield

    Dim iPos As Integer
    iPos = InStr(1, xsParts(5), " ")
    
    Debug.Print "nom : '" & Left$(xsParts(5), iPos - 1) & "'"
    Debug.Print "prénom : '" & Mid$(xsParts(5), iPos + 1) & "'"

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3
cs_tolt
Messages postés
270
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
4 avril 2019

27 juin 2008 à 14:53
Voilà une petit fonction que j'utilise dans tout mes projets.

Public Function FindParm(ByVal ChaineSource As String, NumeroParm As Integer, Separe As String) As String
On Error GoTo razFindParm
FindParm = Split(ChaineSource, Separe)(NumeroParm)
Exit Function
razFindParm:
FindParm = ""
End Function
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
27 juin 2008 à 15:09
"super", cinq parametres a extraire, cinq fois le même split appliqué... (pas top coté perfs)

au suivant !
0
cs_tolt
Messages postés
270
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
4 avril 2019

27 juin 2008 à 16:33
Je prends largement votre méthode Renfield.
Vous êtes très fortiche Renfield. Félicitation.
0
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
27 juin 2008 à 16:38
ben.... euh merci ^^

c'est pas 'ma' méthode, c'est juste une remarque comme ça...
bien souvent, le code le plus court, n'a pas gage d'etre le plus rapide.

a optimiser si c'est un point critique, sinon, ca peut convenir
0