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

comparaisons adresses postales

5 réponses
Avatar
lenainrouge
Bonjour,

je dois compter le nombre de personnes qui habitent un secteur donné. Je
dispose donc de 2 fichiers, A et B, mais je n'arrive pas à obtenir de
résultats par la formule nb.si
J'ai pourtant modifié les adresses du fichier A en supprimant accent et
apostrophes, mais le n° de la rue du fichier B semble constituer un obstacle.
Y a-til une solution qui m'aurait échapée ?

Pour l'exemple:

Soit A le fichier contenant une liste de rues (une cinquantaine de lignes):

Ader (place Clément)
Aéropostale (rue de l')
Argenton (rue d')
Bergerac (rue de)
Boîte à Bougies (rue de la)
Boucher (rue Hélène)
Bouvreuils (rue des)
Braille (rue Louis)
Brantôme (rue de)
Canonniers (rue des)
Châteauroux (rue de)
Châtillon (rue de)
Ciriers (rue des)
Clairvivre (rue de)
Eyzies (rue des)
Fehner (rue du Colonel)
...

Soit B le fichier contenant l'adresse des personnes (50 000 lignes):

13 RUE DES VERGERS
12 RUE DE BENFELD
4 RUE DU DONON
19 RUE SAINTE ODILE
16 RUE DE SAND
86A RUE DIV. LECLERC
6 RUE DE BARR
21 RUE DE L ORME
6 RUE DES CERISIER
13 RUE DES ACACIAS
14 RUE DES VERGERS
4 RUE DE L ETANG
2 RUE DU PETIT REMPART
1 RUE DE L ETANG
24 RUE DE LA 1E ARMEE
2 RUE DU GAL DE GAULLE
1A RUE BELLE VUE
17 RUE DES VOSGES
15 RUE DE LA CHAPELLE
47 RUE DU 20 NOVEMBRE
8 RUE DE ROME
4 RUE DE LA MAIRIE
...

merci

5 réponses

Avatar
alexandre-dit le jeune
Bonjour,
tiens-tu compte des noms de rue seulement ? sinon essayes de mettre tous les
noms en minuscules ou en majuscules dans les fichiers A et B.
Cordialement,
Alexandre
PS : quelle formule précise utilises-tu ?

"lenainrouge" a écrit dans le
message de news:
Bonjour,

je dois compter le nombre de personnes qui habitent un secteur donné. Je
dispose donc de 2 fichiers, A et B, mais je n'arrive pas à obtenir de
résultats par la formule nb.si
J'ai pourtant modifié les adresses du fichier A en supprimant accent et
apostrophes, mais le n° de la rue du fichier B semble constituer un
obstacle.
Y a-til une solution qui m'aurait échapée ?

Pour l'exemple:

Soit A le fichier contenant une liste de rues (une cinquantaine de
lignes):

Ader (place Clément)
Aéropostale (rue de l')
Argenton (rue d')
Bergerac (rue de)
Boîte à Bougies (rue de la)
Boucher (rue Hélène)
Bouvreuils (rue des)
Braille (rue Louis)
Brantôme (rue de)
Canonniers (rue des)
Châteauroux (rue de)
Châtillon (rue de)
Ciriers (rue des)
Clairvivre (rue de)
Eyzies (rue des)
Fehner (rue du Colonel)
...

Soit B le fichier contenant l'adresse des personnes (50 000 lignes):

13 RUE DES VERGERS
12 RUE DE BENFELD
4 RUE DU DONON
19 RUE SAINTE ODILE
16 RUE DE SAND
86A RUE DIV. LECLERC
6 RUE DE BARR
21 RUE DE L ORME
6 RUE DES CERISIER
13 RUE DES ACACIAS
14 RUE DES VERGERS
4 RUE DE L ETANG
2 RUE DU PETIT REMPART
1 RUE DE L ETANG
24 RUE DE LA 1E ARMEE
2 RUE DU GAL DE GAULLE
1A RUE BELLE VUE
17 RUE DES VOSGES
15 RUE DE LA CHAPELLE
47 RUE DU 20 NOVEMBRE
8 RUE DE ROME
4 RUE DE LA MAIRIE
...

merci


Avatar
Corto
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Bonjour lenainrouge,<br>
Voici une formule qui compte les lignes dont le premier mot du nom de
la rue est dans l'adresse. <br>
NB.SI(ADRESSES;"=*"&amp;MAJUSCULE(GAUCHE(A2; TROUVE("
";A2)-1))&amp;"*"), <br>
ce n'est pas parfait ( voir exemples dans le tableau ) mais la
reconnaissance d'adresse n'est pas un probl&egrave;me simple.<br>
<table x:str="" style="border-collapse: collapse; width: 370pt;"
border="0" cellpadding="0" cellspacing="0" width="370">
<col style="width: 141pt;" width="188"> <col style="width: 60pt;"
width="80"> <col style="width: 122pt;" width="163"> <col
style="width: 47pt;" width="63"> <tbody>
<tr style="height: 25.5pt;" height="34">
<td style="height: 25.5pt; width: 141pt;" height="34"
nowrap="nowrap" width="188">Adresse</td>
<td style="width: 60pt;" nowrap="nowrap" width="80"><br>
</td>
<td style="width: 122pt;" nowrap="nowrap" width="163">Rues</td>
<td class="xl29" style="width: 47pt;" nowrap="nowrap" width="63">Nb
Adresses</td>
</tr>
<tr style="height: 15pt;" height="20">
<td class="xl24" style="height: 15pt;" height="20" nowrap="nowrap">13
RUE DES VERGERS</td>
<td class="xl24" nowrap="nowrap"><br>
</td>
<td class="xl25" nowrap="nowrap"><font color="red">A&eacute;ropostale
(rue de l')</font></td>
<td class="xl26" x:num="" align="right" nowrap="nowrap"><font
color="red">1</font></td>
</tr>
<tr style="height: 15pt;" height="20">
<td class="xl24" style="height: 15pt;" height="20" nowrap="nowrap">14
RUE DES VERGERS</td>
<td class="xl24" nowrap="nowrap"><br>
</td>
<td class="xl24" nowrap="nowrap">Vergers (rue des)</td>
<td x:num="" align="right" nowrap="nowrap">2</td>
</tr>
<tr style="height: 15pt;" height="20">
<td class="xl28" style="height: 15pt;" height="20" nowrap="nowrap"><font
color="green">16 RUE DE SAND</font></td>
<td class="xl24" nowrap="nowrap"><br>
</td>
<td class="xl27" nowrap="nowrap"><font color="blue">Leclerc
(Place du g&eacute;n&eacute;ral)</font></td>
<td class="xl27" x:num="" align="right" nowrap="nowrap"><font
color="blue">1</font></td>
</tr>
<tr style="height: 15pt;" height="20">
<td class="xl25" style="height: 15pt;" height="20" nowrap="nowrap"><font
color="red">27 RUE DE L'A&Eacute;ROPOSTALE</font></td>
<td class="xl24" nowrap="nowrap"><br>
</td>
<td class="xl27" nowrap="nowrap"><font color="blue">Leclerc (Rue
de la division)</font></td>
<td class="xl27" x:num="" align="right" nowrap="nowrap"><font
color="blue">1</font></td>
</tr>
<tr style="height: 15pt;" height="20">
<td class="xl25" style="height: 15pt;" height="20" nowrap="nowrap"><font
color="red">30 RUE DE L'AEROPOSTALE</font></td>
<td class="xl24" nowrap="nowrap"><br>
</td>
<td class="xl28" nowrap="nowrap"><font color="green">Sand (Place
Georges)</font></td>
<td class="xl28" x:num="" align="right" nowrap="nowrap"><font
color="green">1</font></td>
</tr>
<tr style="height: 15pt;" height="20">
<td class="xl27" style="height: 15pt;" height="20" nowrap="nowrap"><font
color="blue">86A RUE DIV. LECLERC</font></td>
<td class="xl24" nowrap="nowrap"><br>
</td>
<td nowrap="nowrap"><br>
</td>
<td nowrap="nowrap"><br>
</td>
</tr>
</tbody>
</table>
<br>
Corto<br>
<br>
<br>
<br>
lenainrouge a &eacute;crit&nbsp;:
<blockquote
cite="mid:"
type="cite">
<pre wrap="">Bonjour,

je dois compter le nombre de personnes qui habitent un secteur donn&Atilde;&copy;. Je
dispose donc de 2 fichiers, A et B, mais je n'arrive pas &Atilde;&nbsp; obtenir de
r&Atilde;&copy;sultats par la formule nb.si
J'ai pourtant modifi&Atilde;&copy; les adresses du fichier A en supprimant accent et
apostrophes, mais le n&Acirc;&deg; de la rue du fichier B semble constituer un obstacle.
Y a-til une solution qui m'aurait &Atilde;&copy;chap&Atilde;&copy;e ?

Pour l'exemple:

Soit A le fichier contenant une liste de rues (une cinquantaine de lignes):

Ader (place Cl&Atilde;&copy;ment)
A&Atilde;&copy;ropostale (rue de l')
Argenton (rue d')
Bergerac (rue de)
Bo&Atilde;&reg;te &Atilde;&nbsp; Bougies (rue de la)
Boucher (rue H&Atilde;&copy;l&Atilde;&uml;ne)
Bouvreuils (rue des)
Braille (rue Louis)
Brant&Atilde;&acute;me (rue de)
Canonniers (rue des)
Ch&Atilde;&cent;teauroux (rue de)
Ch&Atilde;&cent;tillon (rue de)
Ciriers (rue des)
Clairvivre (rue de)
Eyzies (rue des)
Fehner (rue du Colonel)
....

Soit B le fichier contenant l'adresse des personnes (50 000 lignes):

13 RUE DES VERGERS
12 RUE DE BENFELD
4 RUE DU DONON
19 RUE SAINTE ODILE
16 RUE DE SAND
86A RUE DIV. LECLERC
6 RUE DE BARR
21 RUE DE L ORME
6 RUE DES CERISIER
13 RUE DES ACACIAS
14 RUE DES VERGERS
4 RUE DE L ETANG
2 RUE DU PETIT REMPART
1 RUE DE L ETANG
24 RUE DE LA 1E ARMEE
2 RUE DU GAL DE GAULLE
1A RUE BELLE VUE
17 RUE DES VOSGES
15 RUE DE LA CHAPELLE
47 RUE DU 20 NOVEMBRE
8 RUE DE ROME
4 RUE DE LA MAIRIE
....

merci
</pre>
</blockquote>
</body>
</html>
Avatar
JB
Bonjour,

Une fonction pour enlever les accents.

http://cjoint.com/?ivneoxROTl

JB


On 21 août, 11:16, lenainrouge
wrote:
Bonjour,

je dois compter le nombre de personnes qui habitent un secteur donné. Je
dispose donc de 2 fichiers, A et B, mais je n'arrive pas à obtenir de
résultats par la formule nb.si
J'ai pourtant modifié les adresses du fichier A en supprimant accent et
apostrophes, mais le n° de la rue du fichier B semble constituer un obs tacle.
Y a-til une solution qui m'aurait échapée ?

Pour l'exemple:

Soit A le fichier contenant une liste de rues (une cinquantaine de lignes ):

Ader (place Clément)
Aéropostale (rue de l')
Argenton (rue d')
Bergerac (rue de)
Boîte à Bougies (rue de la)
Boucher (rue Hélène)
Bouvreuils (rue des)
Braille (rue Louis)
Brantôme (rue de)
Canonniers (rue des)
Châteauroux (rue de)
Châtillon (rue de)
Ciriers (rue des)
Clairvivre (rue de)
Eyzies (rue des)
Fehner (rue du Colonel)
...

Soit B le fichier contenant l'adresse des personnes (50 000 lignes):

13 RUE DES VERGERS
12 RUE DE BENFELD
4 RUE DU DONON
19 RUE SAINTE ODILE
16 RUE DE SAND
86A RUE DIV. LECLERC
6 RUE DE BARR
21 RUE DE L ORME
6 RUE DES CERISIER
13 RUE DES ACACIAS
14 RUE DES VERGERS
4 RUE DE L ETANG
2 RUE DU PETIT REMPART
1 RUE DE L ETANG
24 RUE DE LA 1E ARMEE
2 RUE DU GAL DE GAULLE
1A RUE BELLE VUE
17 RUE DES VOSGES
15 RUE DE LA CHAPELLE
47 RUE DU 20 NOVEMBRE
8 RUE DE ROME
4 RUE DE LA MAIRIE
...

merci


Avatar
lenainrouge
Salut Corto,

merci pour ton aide. Ta formule est utile et bien pensée !
J'aimerai toutefois faire les remarques suivantes:

1) une fois les accents et signes spéciaux effacés (merci JB), j'ai du
modifier ta formule car elle prend par défaut les signes précédents et
suivants le nom et ça peut poser problème. Par exple, Mâcon et maçons
deviennent MACON et MACONS et se retrouvent comptabilisés ensemble.
La formule devient donc:
=NB.SI(adresses;"=*"&MAJUSCULE(GAUCHE(A1;TROUVE(" ";A1)-1)))

2) La correction donnée ci-dessus ne donne pas non plus entièrement
satisfaction. Par exemple, je n'obtiens aucun résultat si la formule
recherche "*BOITE" alors qu'il existe une adresse: 3 RUE BOITE A BOUGIES
En revanche, si la formule recherche l'expression "*BOITE*" , alors ça
fonctionne !
Je n'y comprends rien, mais je continue à fouiller


merci en tous cas pour ta réponse
Avatar
Corto
Bonjour lenainrouge,
C'est justement ce que j'entendais par "la reconnaissance d'adresse
n'est pas un problème simple" dans mon premier mail.
Il faut choisir entre trop et pas assez. Tu peux peut être essayer c ette
formule, comme on sélectionne l'espace dans le texte à comparer ,
Cela devrait régler ton point 1 et ton point 2 mais il y aura toujou rs
des erreurs à moins d'avoir des adresses toujours formatées de la même
façon.

=NB.SI(adresses;"=*"&MAJUSCULE(GAUCHE(A1;TROUVE(" ";A1)))&"*")

Le problème du point 2 vient directement du définition de la fo rmule.
"*BOITE" recherche n'importe quelle suite de caractères suivis de BO ITE
suivi de rien du tout c'est pourquoi il ne compte pas le 3 RUE BOITE A
BOUGIES.

Corto

Salut Corto,

merci pour ton aide. Ta formule est utile et bien pensée !
J'aimerai toutefois faire les remarques suivantes:

1) une fois les accents et signes spéciaux effacés (merci JB) , j'ai du
modifier ta formule car elle prend par défaut les signes préc édents et
suivants le nom et ça peut poser problème. Par exple, Mâ con et maçons
deviennent MACON et MACONS et se retrouvent comptabilisés ensemble .
La formule devient donc:
=NB.SI(adresses;"=*"&MAJUSCULE(GAUCHE(A1;TROUVE(" ";A1)-1)))

2) La correction donnée ci-dessus ne donne pas non plus entiè rement
satisfaction. Par exemple, je n'obtiens aucun résultat si la formu le
recherche "*BOITE" alors qu'il existe une adresse: 3 RUE BOITE A BOUGIE S
En revanche, si la formule recherche l'expression "*BOITE*" , alors à §a
fonctionne !
Je n'y comprends rien, mais je continue à fouiller


merci en tous cas pour ta réponse