Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Séparer en 3 lignes une adresse postale

2 réponses
Avatar
Raphaël - I. FIMAC
Bonjour à tous,

Quelqu'un a t-il une idée pour séparée en 3 lignes d'adresses bien
distinctes une adresse postale type :

Ce que j'ai actuellement :
champ 1 : DUPONT
champ 2 : JEAN
champ 3 : 5 rue de l'hers
BAT 10
Apt 123
champ 4 : 31000
champ 5 : TOULOUSE

ce que je veux obtenir :
champ 1 : DUPONT
champ 2 : JEAN
champ 3 : 5 rue de l'hers
champ 4 : BAT 10
champ 5 : Apt 123
champ 6 : 31000
champ 7 : TOULOUSE

J'arrive bien à extraire la première ligne avec la requête suivante :


Code :
IIf(InStr(1,[TiersAdresse1Ligne],Chr(13))<>0,Left([TiersAdresse1Ligne],InStr(1,[TiersAdresse1Ligne],Chr(13))),[TiersAdresse1Ligne])
AS Adr1Mais je galère comme un dingue pour la ligne d'adresse 2 et 3, si
quelqu'un a une idée, elle est la bien venu.

PS : J'ai le reste de mon adresse (c'est à dire ligne 2 et ligne 3 sans la
ligne 1) avec cette requête :


Code :
IIf(InStr(1,[TiersAdresse1Ligne],Chr(13))<>0,Mid([TiersAdresse1Ligne],InStr(1,[TiersAdresse1Ligne],Chr(13))),"")Merci.
Raph

2 réponses

Avatar
Fabien
Bonjour à tous,

Quelqu'un a t-il une idée pour séparée en 3 lignes d'adresses bien
distinctes une adresse postale type :

Ce que j'ai actuellement :
champ 1 : DUPONT
champ 2 : JEAN
champ 3 : 5 rue de l'hers
BAT 10
Apt 123
champ 4 : 31000
champ 5 : TOULOUSE

ce que je veux obtenir :
champ 1 : DUPONT
champ 2 : JEAN
champ 3 : 5 rue de l'hers
champ 4 : BAT 10
champ 5 : Apt 123
champ 6 : 31000
champ 7 : TOULOUSE

J'arrive bien à extraire la première ligne avec la requête suivante :


Code :
IIf(InStr(1,[TiersAdresse1Ligne],Chr(13))<>0,Left([TiersAdresse1Ligne],InStr(1,[TiersAdresse1Ligne],Chr(13))),[TiersAdresse1Ligne])
AS Adr1Mais je galère comme un dingue pour la ligne d'adresse 2 et 3, si
quelqu'un a une idée, elle est la bien venu.

PS : J'ai le reste de mon adresse (c'est à dire ligne 2 et ligne 3 sans la
ligne 1) avec cette requête :


Code :
IIf(InStr(1,[TiersAdresse1Ligne],Chr(13))<>0,Mid([TiersAdresse1Ligne],InStr(1,[TiersAdresse1Ligne],Chr(13))),"")Merci.
Raph


Salut,

sous reserve ..
Creer une petite fonction
Public function Extrait_adresse(Adresse as string,Num as integer) as string
Dim Montab as variant
Montab = split(Adresse,Chr(13))
Extrait_Adresse=MonTab(Num)
End func

Avec quelques améliorations pour les cas d'erreur.
Ensuite dans ta requete tu fait appel a cette fonction par un
Adresse1:Extrait_adresse([TiersAdresse],1)

@+

Avatar
Gloops
Bonjour,

La réponse de Fabien est la bonne, pour fractionner un champ selon un
caractère (le retour en début de ligne).

Après, tu fais comme tu veux, mais tant que c'est La Poste qui distribu e
le courrier, une adresse, ça se présente sur six lignes plus le pays,
chacune des lignes étant affectée à une partie précise de l'adres se.

Enfin il est vrai que leur argument, quand ils ont dit ça, c'était
"adresse bien présentée, courrier vite distribué", et qu'on aurait envie
de demander "et maintenant ?" - enfin ça, on ne le gèrera pas sous Ac cess.

http://fr.wikipedia.org/wiki/Adresse_postale

(j'ai regardé, et j'ai vu que ce n'était pas du tout un hasard si
wikipedia est bien mieux référencé que La Poste sur cette question)
_________________________________________________
Raphaël - I. FIMAC a écrit, le 13/05/2008 14:28 :
Bonjour à tous,

Quelqu'un a t-il une idée pour séparée en 3 lignes d'adresses bie n
distinctes une adresse postale type :

Ce que j'ai actuellement :
champ 1 : DUPONT
champ 2 : JEAN
champ 3 : 5 rue de l'hers
BAT 10
Apt 123
champ 4 : 31000
champ 5 : TOULOUSE

ce que je veux obtenir :
champ 1 : DUPONT
champ 2 : JEAN
champ 3 : 5 rue de l'hers
champ 4 : BAT 10
champ 5 : Apt 123
champ 6 : 31000
champ 7 : TOULOUSE

J'arrive bien à extraire la première ligne avec la requête suivan te :


Code :
IIf(InStr(1,[TiersAdresse1Ligne],Chr(13))<>0,Left([TiersAdresse1Ligne], InStr(1,[TiersAdresse1Ligne],Chr(13))),[TiersAdresse1Ligne])
AS Adr1Mais je galère comme un dingue pour la ligne d'adresse 2 et 3, si
quelqu'un a une idée, elle est la bien venu.

PS : J'ai le reste de mon adresse (c'est à dire ligne 2 et ligne 3 sa ns la
ligne 1) avec cette requête :


Code :
IIf(InStr(1,[TiersAdresse1Ligne],Chr(13))<>0,Mid([TiersAdresse1Ligne],I nStr(1,[TiersAdresse1Ligne],Chr(13))),"")Merci.
Raph