[..] Liste déroulante : liste ville de france
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- peuchere83
- Niveau 5

- Messages : 169
- Enregistré le : mer. 17 déc. 2008 10:50
- Status : Hors ligne
[..] Liste déroulante : liste ville de france
Bonjour à tous,
je cherche à charger ma liste déroulante avec tous les villes de France.
J'ai récupéré la liste des villes mais j'ai des zones d'ombres sur comment lié les 2.
Je pense qu'un _FileReadToArray n'est pas conseillé du fait du grand nombre d'information.
Dois je passer en bdd ?
Si oui comment faire ?
Par avance merci à tous
je cherche à charger ma liste déroulante avec tous les villes de France.
J'ai récupéré la liste des villes mais j'ai des zones d'ombres sur comment lié les 2.
Je pense qu'un _FileReadToArray n'est pas conseillé du fait du grand nombre d'information.
Dois je passer en bdd ?
Si oui comment faire ?
Par avance merci à tous
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Skippy est là pour t'enlever tous tes soucis.
- matwachich
- Membre émérite

- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [..] Liste déroulante : liste ville de france
Quelle est la taille du fichier? Quel est le format sous le quel sont enregistrées les noms des villes?
En gros, si la taille du fichier ne dépasse pas quantité de RAM de votre PC, vous pouvez y'aller sans problème avec le _FileReadToArray
Sinon,si je suppose que les nom sont enregistrer sur une ligne alors, ça donne un truc du genre
Après, il y a tellement d'autres manières de faire...
En gros, si la taille du fichier ne dépasse pas quantité de RAM de votre PC, vous pouvez y'aller sans problème avec le _FileReadToArray
Sinon,si je suppose que les nom sont enregistrer sur une ligne alors, ça donne un truc du genre
Code : Tout sélectionner
$list = _FileListToArray("fichier.txt")
$str = ""
For $i = 1 To $list[0]
$str &= $list[$i] & "|"
Next
$str = StringTrimRight($str, 1)
; ---
GuiCtrlSetData($ListBox, $str)Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
- Iste
- Niveau 11

- Messages : 1870
- Enregistré le : jeu. 04 déc. 2008 14:21
- Localisation : 76
- Status : Hors ligne
Re: [..] Liste déroulante : liste ville de france
Il faut même que ca ne dépasse pas 50% de la ram, car il faut pas oublier l'espace de stockage du listview lui même !
Et sinon, comme je pense que matwachich a répondu a votre probleme, je rajoute mon grain de sel en disant que oui, il vaudrait mieux reconcevoir tout ca avec un peu plus de bdd dans le tas.
Je vous conseil de vous tourner vers sqlite et une proposition dynamique de vile grace a un LIKE
Et sinon, comme je pense que matwachich a répondu a votre probleme, je rajoute mon grain de sel en disant que oui, il vaudrait mieux reconcevoir tout ca avec un peu plus de bdd dans le tas.
Je vous conseil de vous tourner vers sqlite et une proposition dynamique de vile grace a un LIKE
Signez ici
- jchd
- AutoIt MVPs (MVP)

- Messages : 2284
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..] Liste déroulante : liste ville de france
Rien n'est simple dans ce domaine flou.
Tout d'abord il faudrait savoir ce dont tu as besoin exactement, si tu parles de communes (telles que les gens les connaissent), de groupement de communes (telles que l'administration les recence), des villes principales en omettant les bourgs de 12 habitants, ...
Déjà c'est un drôle de bazar : par exemple la commune "Rivière Saas et Gourby" (n° INSEE 40244, code postal 40180) regroupe trois anciennes communes (Rivière, Saas, Gourby, évidemment). Selon la "culture" de la personne qui cherche ou nomme cette commune officielle, on peut trouver une saisie sous l'un des trois noms, ou deux, ou trois, dans un ordre différent (et oui !), avec ou pas d'accent sur Rivière, avec ou pas d'accent sur Saas (anciennes graphies), avec ou pas 'et', etc.
Rajoute ou supprime les articles (Le Bourget), les apostrophes (L'Herm), les compléments (en, sur, sous, les lès, lez, lèz, d'en, ...), les noms très proches (L'Herm 09000, Lherm 31600, Herm 40990, Herme 77114, ...), la question des 'Saint*' (Ste Marie 08400 mais Saintes Maries de la Mer 13460), les purs homonymes (il y a 14 communes distinctes nommées officiellement 'Ste Marie', sans compter les regroupements), les tirets, etc.
Là-dessus, compte bien sur l'erreur humaine et ses inévitables fautes de frappes !
Ah oui, la France c'est aussi les DOM-TOM, juste pour rire, plus des bizarreries postales (Monaco).
Pour la France (au sens large), il y a environ 41086 communes (en fait un tout petit peu moins) regroupées en 6288 codes postaux, à ma connaissance.
Tu vois que la question est bien plus complexe que beaucoup des gens le pensent. En fait, tu as les mêmes problèmes que La Redoute pour valider une adresse, sauf que tu n'as pas du tout les mêmes moyens ni les mêmes ressources.
Donc à toi de dire ce qu'il te faut vraiment et dans quel but. Si c'est pour une liste des 1000 principales villes de France, une liste déroulante est déjà peu adaptée, mais si c'est pour saisir une adresse physique réelle, il te faut de la recherche floue dans une base de données.
J'ai fait ça (avec SQLite plus une extension perso) pour une activité de vente par correspondance et c'est tout sauf trivial. Je peux te passer des billes : tables et idées d'implémentation. Pour info, nous avons expédié dans 38 pays à ce jour.
Tout d'abord il faudrait savoir ce dont tu as besoin exactement, si tu parles de communes (telles que les gens les connaissent), de groupement de communes (telles que l'administration les recence), des villes principales en omettant les bourgs de 12 habitants, ...
Déjà c'est un drôle de bazar : par exemple la commune "Rivière Saas et Gourby" (n° INSEE 40244, code postal 40180) regroupe trois anciennes communes (Rivière, Saas, Gourby, évidemment). Selon la "culture" de la personne qui cherche ou nomme cette commune officielle, on peut trouver une saisie sous l'un des trois noms, ou deux, ou trois, dans un ordre différent (et oui !), avec ou pas d'accent sur Rivière, avec ou pas d'accent sur Saas (anciennes graphies), avec ou pas 'et', etc.
Rajoute ou supprime les articles (Le Bourget), les apostrophes (L'Herm), les compléments (en, sur, sous, les lès, lez, lèz, d'en, ...), les noms très proches (L'Herm 09000, Lherm 31600, Herm 40990, Herme 77114, ...), la question des 'Saint*' (Ste Marie 08400 mais Saintes Maries de la Mer 13460), les purs homonymes (il y a 14 communes distinctes nommées officiellement 'Ste Marie', sans compter les regroupements), les tirets, etc.
Là-dessus, compte bien sur l'erreur humaine et ses inévitables fautes de frappes !
Ah oui, la France c'est aussi les DOM-TOM, juste pour rire, plus des bizarreries postales (Monaco).
Pour la France (au sens large), il y a environ 41086 communes (en fait un tout petit peu moins) regroupées en 6288 codes postaux, à ma connaissance.
Tu vois que la question est bien plus complexe que beaucoup des gens le pensent. En fait, tu as les mêmes problèmes que La Redoute pour valider une adresse, sauf que tu n'as pas du tout les mêmes moyens ni les mêmes ressources.
Donc à toi de dire ce qu'il te faut vraiment et dans quel but. Si c'est pour une liste des 1000 principales villes de France, une liste déroulante est déjà peu adaptée, mais si c'est pour saisir une adresse physique réelle, il te faut de la recherche floue dans une base de données.
J'ai fait ça (avec SQLite plus une extension perso) pour une activité de vente par correspondance et c'est tout sauf trivial. Je peux te passer des billes : tables et idées d'implémentation. Pour info, nous avons expédié dans 38 pays à ce jour.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
- peuchere83
- Niveau 5

- Messages : 169
- Enregistré le : mer. 17 déc. 2008 10:50
- Status : Hors ligne
Re: [..] Liste déroulante : liste ville de france
Merci pour toutes vos réponses.
Pour préciser la chose, voici la liste des villes que j'ai récupéré afin de gérer le plus précisément possible le nom.
(je me fiche des coordonnées gps qui se trouve dans cette base pour info).
Mon programme est en fait une interface de saisie contenant divers champs dont la fameuse liste déroulante "Nom de la Ville" et le bouton valider la saisie. (j'ai simplifier l'explication)
L'idée est que mon opérateur commence à saisir le nom de la ville et cela lui pré rempli la liste déroulante.
Le but final est que, par exemple, la ville de Sainte-Maxime soit orthographié de la même manière pour chaque nouvelles saisies.
Pour info ce fichier compte + de 37000 villes.
@matwachich: _FileListToArray ? tu voulais écrire _FileReadToArray ? Le filelist permet de lister les fichier ou répertoire contenu dans un autre répertoire mais pas de lire le contenu d'un fichier txt non ?
Avec ces infos supplémentaires avez vous des conseils ou des bouts de codes ?
Et pourquoi pas le code
Par avance merci.
Pour préciser la chose, voici la liste des villes que j'ai récupéré afin de gérer le plus précisément possible le nom.
(je me fiche des coordonnées gps qui se trouve dans cette base pour info).
Mon programme est en fait une interface de saisie contenant divers champs dont la fameuse liste déroulante "Nom de la Ville" et le bouton valider la saisie. (j'ai simplifier l'explication)
L'idée est que mon opérateur commence à saisir le nom de la ville et cela lui pré rempli la liste déroulante.
Le but final est que, par exemple, la ville de Sainte-Maxime soit orthographié de la même manière pour chaque nouvelles saisies.
Pour info ce fichier compte + de 37000 villes.
@matwachich: _FileListToArray ? tu voulais écrire _FileReadToArray ? Le filelist permet de lister les fichier ou répertoire contenu dans un autre répertoire mais pas de lire le contenu d'un fichier txt non ?
Avec ces infos supplémentaires avez vous des conseils ou des bouts de codes ?
Et pourquoi pas le code
Par avance merci.
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Skippy est là pour t'enlever tous tes soucis.
- matwachich
- Membre émérite

- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [..] Liste déroulante : liste ville de france
En effet pour le _FileReadToArray! désolé.
Bon, j'ai déjà fait un truc du genre, mais pas avec 37000 entrées!!!! alors je ne sais pas ce que ça donnera en terme de performances!
Ce que j'aimerai, c'est un extrait du fichier: par exemple, les 10 ou 20 premières entrées, pour voir un peut à quoi on a affaire.
Bon, j'ai déjà fait un truc du genre, mais pas avec 37000 entrées!!!! alors je ne sais pas ce que ça donnera en terme de performances!
Ce que j'aimerai, c'est un extrait du fichier: par exemple, les 10 ou 20 premières entrées, pour voir un peut à quoi on a affaire.
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
- jchd
- AutoIt MVPs (MVP)

- Messages : 2284
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..] Liste déroulante : liste ville de france
Bon d'accord, ton op va saisir. Mais si le village en question n'est pas dans la base, il fait quoi : il pleure ?
Sérieusement, c'est pour de l'adressage ? As-tu à côté un code postal ou autre information ? Les infos à saisir sont-elles déjà validées à coup sûr contre ta liste ou sont-elles susceptibles d'erreurs et/ou d'incomplétude ? Comment comptes-tu lever les doutes ?
Par exemple, si ton gus a à saisir "mornay", comment vas-tu dénicher le bon Mornay ? Voici les choix possibles :
Sérieusement, c'est pour de l'adressage ? As-tu à côté un code postal ou autre information ? Les infos à saisir sont-elles déjà validées à coup sûr contre ta liste ou sont-elles susceptibles d'erreurs et/ou d'incomplétude ? Comment comptes-tu lever les doutes ?
Par exemple, si ton gus a à saisir "mornay", comment vas-tu dénicher le bon Mornay ? Voici les choix possibles :
Code : Tout sélectionner
PaysISO Code Ville
FR 18350 MORNAY BERRY
FR 18600 MORNAY SUR ALLIER
FR 21610 MONTIGNY MORNAY VILLENEUVE SUR VINGEANNE
FR 26210 LAPEYROUSE MORNAY
FR 71220 MORNAYLa cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
- peuchere83
- Niveau 5

- Messages : 169
- Enregistré le : mer. 17 déc. 2008 10:50
- Status : Hors ligne
Re: [..] Liste déroulante : liste ville de france
Merci pour ces réponses.
@ matwachich : voici un exemple :
@ jchd :
Dans le cas ou la ville n'est pas dans la base, je rajouterais un champs permettant un ajout.
Il faut savoir que le code postal ne peut pas être utilisé : seul le nom de la ville (village) est présent.
Je pars du principe que la liste est bonne sinon cela devient impossible à gérer.
Pour ta remarque sur la ville de mornay, c'est pour cela que je souhaiterais qu'en fonction de sa saisie, la liste se filtre. Par exemple s'il saisi mornay, seul mornay berry, mornay sur allier et mornay apparaitront (dans ton exemple).
J'espère avoir éclairci ma demande.
Bonne journée.
@ matwachich : voici un exemple :
Code : Tout sélectionner
code postal;insee;article;ville;ARTICLE;VILLE;libelle;region;nom region;dep;nom dep
1500;1004;;Ambérieu-en-Bugey;;AMBERIEU-EN-BUGEY;AMBERIEU EN BUGEY;82;RHONE-ALPES;1;Ain
1330;1005;;Ambérieux-en-Dombes;;AMBERIEUX-EN-DOMBES;AMBERIEUX EN DOMBES;82;RHONE-ALPES;1;Ain
1300;1006;;Ambléon;;AMBLEON;AMBLEON;82;RHONE-ALPES;1;Ain
1500;1007;;Ambronay;;AMBRONAY;AMBRONAY;82;RHONE-ALPES;1;Ain
1500;1008;;Ambutrix;;AMBUTRIX;AMBUTRIX;82;RHONE-ALPES;1;AinDans le cas ou la ville n'est pas dans la base, je rajouterais un champs permettant un ajout.
Il faut savoir que le code postal ne peut pas être utilisé : seul le nom de la ville (village) est présent.
Je pars du principe que la liste est bonne sinon cela devient impossible à gérer.
Pour ta remarque sur la ville de mornay, c'est pour cela que je souhaiterais qu'en fonction de sa saisie, la liste se filtre. Par exemple s'il saisi mornay, seul mornay berry, mornay sur allier et mornay apparaitront (dans ton exemple).
J'espère avoir éclairci ma demande.
Bonne journée.
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Skippy est là pour t'enlever tous tes soucis.
- matwachich
- Membre émérite

- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [..] Liste déroulante : liste ville de france
Un petit exemple
- Fichiers joints
-
- Desktop.zip
- (1.54 Kio) Téléchargé 116 fois
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
- peuchere83
- Niveau 5

- Messages : 169
- Enregistré le : mer. 17 déc. 2008 10:50
- Status : Hors ligne
Re: [..] Liste déroulante : liste ville de france
Merci beaucoup pour cet exemple matwachich, mais .... saurais tu me l'expliquer ?!
Car je ne comprends pas du tout l'utilisation du "dummy". Et je desteste ne pas comprendre
J'ai quand même avancé : j'arrive à interroger ma bdd
Par avance merci.
Car je ne comprends pas du tout l'utilisation du "dummy". Et je desteste ne pas comprendre
J'ai quand même avancé : j'arrive à interroger ma bdd
Par avance merci.
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Skippy est là pour t'enlever tous tes soucis.
