Séparer nom et adresse, code postal et ville (cadastre PCI)

Bonjour à tous,

Je recherche des formules matricielles qui me permettraient de séparer le contenu de noms de propriétaires cadastraux en 3 colonnes (Nom et adresse, Code postal, Ville)

Voilà comment les données peuvent se présenter :

M MACHIN PIERRE PAUL JACQUES LE MOULIN DU MEUNIER 0023 RUE DU CHEMIN 15647 THATAZ HOUINE

MME BIDULE JEANNE JOSPEPHINE JENNIFER LES FERMES DE LA GRANGE 18600 PARMONT ET PARVAUX

M TRUQUE NATHANEL SYLVESTRE RUPERT 0012 IMPASSE DU SENS UNIQUE 27040 FAINFOND

Et je voudrais avoir :

M MACHIN PIERRE PAUL JACQUES LE MOULIN DU MEUNIER 0023 RUE DU CHEMIN | 15647 | THATAZ HOUINE

MME BIDULE JEANNE JOSPEPHINE JENNIFER LES FERMES DE LA GRANGE | 18600 | PARMONT ET PARVAUX

M TRUQUE NATHANEL SYLVESTRE RUPERT 0012 IMPASSE DU SENS UNIQUE | 27040 | FAINFOND

Voire dans l'idéal, mais je ne vois pas comment cela peut être possible directement :

M MACHIN PIERRE PAUL JACQUES | LE MOULIN DU MEUNIER 0023 RUE DU CHEMIN | 15647 | THATAZ HOUINE

MME BIDULE JEANNE JOSPEPHINE JENNIFER | LES FERMES DE LA GRANGE | 18600 | PARMONT ET PARVAUX

M TRUQUE NATHANEL SYLVESTRE RUPERT | 0012 IMPASSE DU SENS UNIQUE | 27040 | FAINFOND

J'ai testé les formules issus d'un fichier Excel de Cisco sur un autre forum, mais cela ne tient pas compte de la présence de numéros au milieu de l'adresse.

Merci d'avance de vos réponses

Bonjour,

La formule matricielle proposée par David84 sur le même post marche bien :

Pour la commune :

=STXT(A1;(NBCAR(A1)-EQUIV(VRAI;ESTNUM(--(STXT(A1;NBCAR(A1)-LIGNE($1:$254);1)));0)-4)+6;99)

On en déduit,

Pour le CP :

=STXT(A1;(NBCAR(A1)-EQUIV(VRAI;ESTNUM(--(STXT(A1;NBCAR(A1)-LIGNE($1:$254);1)));0)-4);5)

Et pour ce qui précède :

=STXT(A1;1;(NBCAR(A1)-EQUIV(VRAI;ESTNUM(--(STXT(A1;NBCAR(A1)-LIGNE($1:$254);1)));0)-4)-2)

Attention, il s'agit de formules matricielles à valider par Maj+Ctrl+Entrée

Cordialement

Patrice

Bonsoir,

Pour le fun une solution avec macro et utilisation des Regex

(nécessite d'activer dans le menu VBA Outils > Références... : "Microsoft VBScript Regular Expression 5.5")

Pour la question subsidiaire, aucune expression formule ou macro n'est capable de spliter un nombre indéterminé de mots d'une phrase et de faire la différence entre un prénom et un élément adresse... (surtout s'il n'y a pas de numéro !)

A+

169splitadressregex.xlsm (20.04 Ko)

Bonjour,

Concernant le calcul matriciel, j'ai copié telles qu'elles les formules proposées par Patrice33740 d'après David84, mais je n'obtiens pas de résultat, avec ou sans activation du calcul matriciel par Maj + Ctrl + Entrée, qui ne semble pas obligatoire.

Ca me dit qu'une valeur n'est pas disponible pour la formule ou la fonction.

Pour la séparation du nom et de l'adresse à vrai dire, je m'en doutais un peu mais je souhaitais quand même avoir l'information.

Merci de me l'avoir apportée.

Je vais jeter un œil à la macro de galopin01 cette fois-ci.

Merci en tous cas de vos contributions.

La macro de gallopin01 fonctionne parfaitement.

J'ai juste eu à la télécharger, l'ouvrir, copier-coller mes données dans la première colonne et cliquer sur Go !

je n'ai pas eu besoin d'activer dans le menu VBA Outils > Références... : "Microsoft VBScript Regular Expression 5.5, mais pour être précis, j'ai juste dû activer la modification et le contenu lorsqu'on me l'a demandé au démarrage (je pense que cela revient au même).

Les données se sont donc réparties sur les trois colonnes B, C et D en "Nom et adresse", "Code postal" et "Ville" comme prévu !

Je verrai plus tard pour comprendre ce qui se cache derrière tout ça ! Mais en tout cas, c'est efficace !

Encore merci !

Bonjour,

Un exemple avec les formules matricielles :

https://www.cjoint.com/c/DGDqLXAOguj

Et bien finalement la méthode en matriciel fonctionne également.

Je n'avais pas compris que lorsque l'on a collé la formule dans la cellule, il ne fallait pas faire Entrée mais Maj + Ctrl + Entrée.

En fait, après avoir collé la formule, je faisais Entrée, puis je sélectionnais la cellule par un simple clic et faisais Maj + Ctrl + Entrée, ce qui ne donnait rien d'autre qu'un #N/A en guise de résultat.

Problème doublement résolu donc !

Merci de vos participations !

Patrice33740 a écrit :

Bonjour,

Un exemple avec les formules matricielles :

https://www.cjoint.com/c/DGDqLXAOguj

c'est cà la magie d'internet : je tape sous google la requête "séparer des adresses sous Excel" et je tombe sur ce site et la formule qui va bien !merci encore

Rechercher des sujets similaires à "separer nom adresse code postal ville cadastre pci"