Cherche méthode simple de recherche de chaine de caractères [Résolu]

Signaler
Messages postés
124
Date d'inscription
samedi 8 avril 2006
Statut
Membre
Dernière intervention
29 janvier 2009
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
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

Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
146
Bonjour,

Essaye avec Split

http://nhen0039.chez-alice.fr/index.php
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
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)
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
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
Messages postés
270
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
4 avril 2019

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
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
"super", cinq parametres a extraire, cinq fois le même split appliqué... (pas top coté perfs)

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

Je prends largement votre méthode Renfield.
Vous êtes très fortiche Renfield. Félicitation.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
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