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 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
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 74
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 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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 269 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 74
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 269 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 74
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
Rejoignez-nous