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

[WDxx] Cherche Fichier Codes postaux, Localités

34 réponses
Avatar
STASZEWSKI André
Bonjour,

je suis à la recherche d'un fichier contenant au moins le code postal et sa
localité.
Pour la France et même d'autre pays si ça existe.
Peut m'importe le format du moment que je puisse le convertir en fichier
txt.
J'en ai trouvé sur le net, mais apparement trop ancien car il n'y avait pas
:
57950 correspondant à Montigny les metz
Merci pour vos suggestions ou vos sources.
--
Cordialement,
André STASZEWSKI
(Gratuit) Photo Visu et Cut Data Radars sur
http://pagesperso-orange.fr/mdev/
Pour me contacter, cliquez ici :
http://cerbermail.com/?OT0Wnwyzph

10 réponses

1 2 3 4
Avatar
news.online.fr
Le Fri, 24 Jul 2009 22:47:39 +0200, Thierry 46
a écrit:

Cédric Leclerc a écrit :
Bonjour André,
J'ai peut être une solution pour vous concernant votre recherche de
codes postaux.




[...]

Cordialement



Ceci est-il légal ?

--
TT
Avatar
STASZEWSKI André
Bhaaa,
Tant que ca reste pour un usage privé....
--
Cordialement,
André STASZEWSKI
(Gratuit) Photo Visu et Cut Data Radars sur
http://pagesperso-orange.fr/mdev/
Pour me contacter, cliquez ici :
http://cerbermail.com/?OT0Wnwyzph

"news.online.fr" a écrit dans le message de news:

Le Fri, 24 Jul 2009 22:47:39 +0200, Thierry 46
a écrit:

Cédric Leclerc a écrit :
Bonjour André,
J'ai peut être une solution pour vous concernant votre recherche de
codes postaux.




[...]

Cordialement



Ceci est-il légal ?

--
TT


Avatar
GpEp
STASZEWSKI André a présenté l'énoncé suivant :
Re,

Je viens de faire un éssai en appliquant votre modif et en retirant la
mienne.
Je trouve 38784 communes en 28 mn environ.
Le hic c'est que je trouve toujours des doublons en CP+Ville (par ex en
59xxx)
La mesure ne serait-elle efficace que pour les dpt allant de 01 à 09 ?

--
Cordialement,
André STASZEWSKI
(Gratuit) Photo Visu et Cut Data Radars sur http://pagesperso-orange.fr/mdev/
Pour me contacter, cliquez ici :
http://cerbermail.com/?OT0Wnwyzph

"Thierry 46" a écrit dans le message de news:
4a6afe18$0$23445$
STASZEWSKI André a écrit :
Re,

Je viens de tester avec succès la procédure.
Vraiment super..
C'est pour moi un excellent support pédagogique avant tout !
J'ai résolu le problème des doublons dans le dernier maillon au niveau de
la procédure RemplissageTable en modifiant le code comme ci-dessous :
//Sauter les lignes dont la ville existe déjà puisqu'il ne peut exister
qu'une seule ville.

SI TableCherche(COL_Ville,gstCommuneEnCours:Ville)= -1 ALORS

TableAjouteLigne(TABLE_LstTrouve,gstCommuneEnCours:CodePostal,gstCommuneEnCours:Ville,gstCommuneEnCours:Departement)

FIN

Mais il aurait peut être été préférable de traiter les doublons dans un
niveau inférieur ? (gain en vitesse ?)
Qu'en pensez-vous ?


Re,

en fait pour avoir aussi les départements 01 à 09 il faut modifier la proc
RechCPall(): ainsi il ne devrait pas y avoir de doublon en interrogeant par
01, 02 etc...
Mais il y a des doublons: c'est normal car c'est sur le serveur (1936
doublon!). Recherchez 59000, et bien il va sortir en double, idem 59, donc
il faut bien traiter les doublons ....

Si la capture dure dans les 25 minutes, la méthode d'André pour la gestion
des doublons prend 8 minutes de plus ! Mais cela en enlève trop:

- la capture trouve 38784 lignes
- après un traitement séparé pour enlever les doublons reste: 36848 codes
- après le traitement d'André ne reste que 34176 codes !
Pourquoi: parce que une nom de ville peut être dans plusieurs départements
ex:
24460 Ligueux
33220 Ligueux
ou même:
59000 Lille
59800 Lille // cela descend au niveau de la rue


Pour ma part j'ai modifié RechCPall() en
// pas besoin de cette chaine
//sCpRech est une chaine

POUR nI_pos = 1 A 99

et
sURLRecherche =
ChaîneConstruit("http://www.codeposte.com/home.php?s_keyword="+NumériqueVersChaîne(nI_pos,"02d")+"&codepostalPage="+
nNumPage)

Je laisse le soin à l'auteur Cédric d'y apporter la touche finale.

Cordialement




Bonjour
J'ai exécuté l'extraction des codes postaux avec les valeurs de
départements 01 à 99 pour récupérer tous les codes postaux
comprenant également ceux des antilles ( 97x) et outre-mer (98x)

Dans rechCPAll()
POUR nI_pos = 01 A 99

Comme vous j'obtiens 38784 codes mais en supprimant les vrais doubles
( cle composée du code postal et du nom de la ville ) il ne reste que
36848 codes postaux.

Or j'ai toujours pensé qu'il y avait plus de 38000 codes postaux (
surtout avec l'outre-mer compris )

Ne pensez-vous pas que l'extraction initiale ne prend pas tous les
codes ?
Cordialement






Avatar
Cédric Leclerc
Bonjour tout le monde,

Pour répondre à news.online.fr, je n'ai vu à aucun endroit sur le sit e
codeposte.com de conditions d'utilisation ou de limitation dans
l'exploitation des données.
Je ne penses pas que si l'on reste dans le cadre d'une utilisation
privé, cela pose un pb. En revanche je pense également que si
quelqu'un souhaite cette méthode pour un usage commercial, il serait
préférable d'en avertir l'auteur du site, car en plus d'un pb de
"légalité", cela pourrais poser un pb d'ordre technique, car les
ressources nécessaires pour faire tourner le site aujourd'hui, ne
seraient peut être plus suffisante si le nombre de requête devait
augmenté d'un coup.
Si jamais l'utilisation commerciale devait poser pb, le code que j'ai
utilisé peut être adapté à d'autres sites. (Il faudra modifier la
méthode de récupération des données pour l'adapter à la réponse HTTP.)

Pour ce qui est du projet, celui-ci était avant tout proposer dans un
but didactique, je suis content de voir que j'ai pu rendre service.
Je vous laisse le soin de faire les modifications nécessaires pour
l'adapter à votre utilisation.

De mon coté, je pense que je ferais (à mes heures perdues) un
composant qui reprendra le principe de la requête HTTP pour les postes
clients avec Internet et une requête vers un fichier local pour les
postes sans Internet.
Reste à voir sur quel site s'appuyer pour faire cela en utilisation
commercial.
Dès que celui-ci sera prêt, je posterais un msg pour vous donner le
lien.

Bon courage à tous, pour la suite de vos dev.

Cordialement.
Avatar
Cédric Leclerc
Bonjour tout le monde,

Pour répondre à news.online.fr, je n'ai vu à aucun endroit sur le sit e
codeposte.com de conditions d'utilisation ou de limitation dans
l'exploitation des données.
Je ne penses pas que si l'on reste dans le cadre d'une utilisation
privé, cela pose un pb. En revanche je pense également que si
quelqu'un souhaite utiliser cette méthode pour un usage commercial, il
serait
préférable d'en avertir l'auteur du site, car en plus d'un pb de
"légalité", cela pourrais poser un pb d'ordre technique, car les
ressources nécessaires pour faire tourner le site aujourd'hui, ne
seraient peut être plus suffisante si le nombre de requête devait
augmenté d'un coup.
Si jamais l'utilisation commerciale devait poser pb, le code que j'ai
utilisé peut être adapté à d'autres sites. (Il faudra modifier la
méthode de récupération des données pour l'adapter à la réponse HTTP.)

Pour ce qui est du projet, celui-ci était avant tout proposer dans un
but didactique, je suis content de voir que j'ai pu rendre service.
Je vous laisse le soin de faire les modifications nécessaires pour
l'adapter à votre utilisation.

De mon coté, je pense que je ferais (à mes heures perdues) un
composant qui reprendra le principe de la requête HTTP pour les postes
clients avec Internet et une requête vers un fichier local pour les
postes sans Internet.
Reste à voir sur quel site s'appuyer pour faire cela en utilisation
commercial.
Dès que celui-ci sera prêt, je posterais un msg pour vous donner le
lien.

Bon courage à tous, pour la suite de vos dev.

Cordialement.
Avatar
STASZEWSKI André
Bonsoir

Vrai, il devrait y avoir 37 030 villles.
En fait c'est parcequ'il manque les CEDEX.
Par exemple pour 01000 BOURG EN BRESSE,
il y a 52 CEDEX :
01001 BOURG EN BRESSE CEDEX
01002 BOURG EN BRESSE CEDEX
01003 BOURG EN BRESSE CEDEX
01004 BOURG EN BRESSE CEDEX
etc..
--
Cordialement,
André STASZEWSKI
(Gratuit) Photo Visu et Cut Data Radars sur
http://pagesperso-orange.fr/mdev/
Pour me contacter, cliquez ici :
http://cerbermail.com/?OT0Wnwyzph


GpEp a écrit :

Bonjour
J'ai exécuté l'extraction des codes postaux avec les valeurs de
départements 01 à 99 pour récupérer tous les codes postaux
comprenant également ceux des antilles ( 97x) et outre-mer (98x)

Dans rechCPAll()
POUR nI_pos = 01 A 99

Comme vous j'obtiens 38784 codes mais en supprimant les vrais doubles (
cle composée du code postal et du nom de la ville ) il ne reste que
36848 codes postaux.

Or j'ai toujours pensé qu'il y avait plus de 38000 codes postaux ( surtout
avec l'outre-mer compris )

Ne pensez-vous pas que l'extraction initiale ne prend pas tous les codes ?
Cordialement










Avatar
STASZEWSKI André
Bonsoir Cedric

Le composant m'interresse (toujours pour un usage privé)
En fait ce qui m'interresse c'est comment éliminer les doublon sans passer
par Excel.
J'ai bien fais une routine sur la table une fois qu'elle est remplie, mais
ça mais 25 minutes de plus pour effectuer le traitement !
C'est pas top...
Donc si la suppression pouvait se faire au 1er maillon de la chaine, ça
serait mieux, mais j'ai pas trouvé comment.
Voir aussi la routine d'extraction qui tronque une partie du département sur
le code postal 20218 (pas trouvé non plus).
Autre remarque qui m'empêche d'utiliser cette requête en directe dans un
programme :
Si on indique une ville dans le champ de saisie du projet, toutes les villes
ne sont pas renvoyées.
Exemple en tapant TOUL, cette ville n'est même pas renvoyée alors que ça
marche sur le site.
Voilà quelques cas de figures qui vous aideront à améliorer le composant
final.
En tout cas merci pour cette exemple didactique décrivant la récupération
d'une requête sur le web.
Et n'hésitez pas à m'avertir en privé de la sortie du composant car je ne
suis pas sur les news tous les jours.
--
Cordialement,
André STASZEWSKI
(Gratuit) Photo Visu et Cut Data Radars sur
http://pagesperso-orange.fr/mdev/
Pour me contacter, cliquez ici :
http://cerbermail.com/?OT0Wnwyzph

"Cédric Leclerc" a écrit dans le message de news:

Bonjour tout le monde,

Pour répondre à news.online.fr, je n'ai vu à aucun endroit sur le site
codeposte.com de conditions d'utilisation ou de limitation dans
l'exploitation des données.
Je ne penses pas que si l'on reste dans le cadre d'une utilisation
privé, cela pose un pb. En revanche je pense également que si
quelqu'un souhaite cette méthode pour un usage commercial, il serait
préférable d'en avertir l'auteur du site, car en plus d'un pb de
"légalité", cela pourrais poser un pb d'ordre technique, car les
ressources nécessaires pour faire tourner le site aujourd'hui, ne
seraient peut être plus suffisante si le nombre de requête devait
augmenté d'un coup.
Si jamais l'utilisation commerciale devait poser pb, le code que j'ai
utilisé peut être adapté à d'autres sites. (Il faudra modifier la
méthode de récupération des données pour l'adapter à la réponse HTTP.)

Pour ce qui est du projet, celui-ci était avant tout proposer dans un
but didactique, je suis content de voir que j'ai pu rendre service.
Je vous laisse le soin de faire les modifications nécessaires pour
l'adapter à votre utilisation.

De mon coté, je pense que je ferais (à mes heures perdues) un
composant qui reprendra le principe de la requête HTTP pour les postes
clients avec Internet et une requête vers un fichier local pour les
postes sans Internet.
Reste à voir sur quel site s'appuyer pour faire cela en utilisation
commercial.
Dès que celui-ci sera prêt, je posterais un msg pour vous donner le
lien.

Bon courage à tous, pour la suite de vos dev.

Cordialement.
Avatar
Cédric Leclerc
Bonsoir André,

Depuis hier j'ai repensé un peu le système d'interrogation.
Déjà je ne m'appuis plus sur le site www.codeposte.com mais sur le
site www.codespostaux.com qui est un peu plus simple à interpréter.
(Une seule page et pas d'image ou autres lien qui viennent "polluer"
le résultat de la requête) et qui en plus précise explicitement que
Codepostaux.com est une base de donnée qui permet de trouver
gratuitement tous les codes postaux en France, Suisse et Belgique.

Sinon, le moyen le plus simple pour éviter les doublons de manière
efficace, serait de faire un tableaucherche sur le tableau de
structure avant de rajouter une ligne, seul pb en Windev 10 cela est
impossible.
En revanche d'après l'aide de Windev 14 ce type de recherche est
apparemment possible, le hic est que ça ne fonctionne pas, la valeur
renvoyée par TableauCherche sur un tableau de structure, est
systématiquement -1 même si l'élément existe déjà dans le table au.
Du coup je vais remodifier la procédure pour ne plus avoir un tableau
de structure, mais un tableau de chaines (tous les éléments seront
concaténés avec un séparateur) .

Le composant est quasiment prêt, il ne me reste plus que la
modification du type de tableau.
Celui-ci comprend déjà plusieurs procédures/fonctions :
- nbOccurrence=CP_Ville_Recherche(Eltrecherché est une chaine)
- nbOccurrence=CP_Ville_All()
- Valretour = recupValeur() où Valretour est une chaine du type (CP+tab
+nomVille+tab+Département+tab+Région+RC+CP+........) Utile si on veut
remplir une table ou une combo
- SaveInFile(nomFicExport est une chaine = "") (Si nomFicExport = ""
alors un sélecteur de répertoire apparaît permettant de sélectionn ée
le répertoire d'exportation. Le fichier sera toujours de type CSV avec
TAB en séparateur de champs et RC en séparateur d'enregistrement.
- TestComposant() qui permet d'ouvrir une fenêtre pour tester les
différentes procédures et fonctions citées ci-dessus.

Dès demain, je pourrais le mettre à disposition.

Cordialement.
Cédric LECLERC.


Note : Pour informations André, votre adresse mail (xxx)@tiscali.fr ne
fonctionne pas.
En revanche, si vous voulez, vous pouvez m'envoyer un mail, ce qui me
permettra de récupérer une adresse valide.
Avatar
STASZEWSKI André
"Cédric Leclerc" a écrit dans le message de news:

Bonsoir André,



Note : Pour informations André, votre adresse mail (xxx)@tiscali.fr ne
fonctionne pas.
En revanche, si vous voulez, vous pouvez m'envoyer un mail, ce qui me
permettra de récupérer une adresse valide.



Merci Cédric,

La modification vient d'être effectuée.
--
Cordialement,
André STASZEWSKI
(Gratuit) Photo Visu et Cut Data Radars sur
http://pagesperso-orange.fr/mdev/
Pour me contacter, cliquez ici :
http://cerbermail.com/?ao2cTfCupx
Avatar
Thierry 46
Cédric Leclerc a écrit :
Bonsoir André,

Depuis hier j'ai repensé un peu le système d'interrogation.
Déjà je ne m'appuis plus sur le site www.codeposte.com mais sur le
site www.codespostaux.com qui est un peu plus simple à interpréter.
(Une seule page et pas d'image ou autres lien qui viennent "polluer"
le résultat de la requête) et qui en plus précise explicitement que
Codepostaux.com est une base de donnée qui permet de trouver
gratuitement tous les codes postaux en France, Suisse et Belgique.

Sinon, le moyen le plus simple pour éviter les doublons de manière
efficace, serait de faire un tableaucherche sur le tableau de
structure avant de rajouter une ligne, seul pb en Windev 10 cela est
impossible.
En revanche d'après l'aide de Windev 14 ce type de recherche est
apparemment possible, le hic est que ça ne fonctionne pas, la valeur
renvoyée par TableauCherche sur un tableau de structure, est
systématiquement -1 même si l'élément existe déjà dans le tableau.
Du coup je vais remodifier la procédure pour ne plus avoir un tableau
de structure, mais un tableau de chaines (tous les éléments seront
concaténés avec un séparateur) .

Le composant est quasiment prêt, il ne me reste plus que la
modification du type de tableau.
Celui-ci comprend déjà plusieurs procédures/fonctions :
- nbOccurrence=CP_Ville_Recherche(Eltrecherché est une chaine)
- nbOccurrence=CP_Ville_All()
- Valretour = recupValeur() où Valretour est une chaine du type (CP+tab
+nomVille+tab+Département+tab+Région+RC+CP+........) Utile si on veut
remplir une table ou une combo
- SaveInFile(nomFicExport est une chaine = "") (Si nomFicExport = ""
alors un sélecteur de répertoire apparaît permettant de sélectionnée
le répertoire d'exportation. Le fichier sera toujours de type CSV avec
TAB en séparateur de champs et RC en séparateur d'enregistrement.
- TestComposant() qui permet d'ouvrir une fenêtre pour tester les
différentes procédures et fonctions citées ci-dessus.

Dès demain, je pourrais le mettre à disposition.

Cordialement.
Cédric LECLERC.


Note : Pour informations André, votre adresse mail (xxx)@tiscali.fr ne
fonctionne pas.
En revanche, si vous voulez, vous pouvez m'envoyer un mail, ce qui me
permettra de récupérer une adresse valide.


Bonsoir,
Je suis aussi intéressé par ce composant.
J'avais pensé à www.codespostaux.com car plus simple: il sort tout le
département sur une page à condition d'éliminer les doublons crées par
la méthode d'interrogation mais il manque quelques codes cités par
André: 57950 par exemple mais il y a:54112
L'autre il y a de vrais doublons...

Enfin le but est d'avoir une base (à mettre à jour de temps en temps).
Cordialement.
1 2 3 4