XL 2016 Séparer Le n° et l'adresse dans deux colonnes avec des nuances dans les adresses

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

theolepennec

XLDnaute Nouveau
Bonjour à tous,

Je suis dans une impasse que je n'arrive pas à résoudre malgré les nombreuses discutions fermée sur le sujet.

Le cas est :

J'ai une bdd ou j'ai des adresses. je voudrais séparer les adresses et les numéros dans deux colonnes différentes, cependant dans les numéros il y a des nuances, comme des lettres ou alors deux numéros ( chalet + adresse) ou encore des adresses sans numéro....
Le fichier de base comporte environ 5000 lignes

Pour m'aider je vous joins un fichier test avec quelques lignes ou les cas de possible sont répertoriés.

Merci d'avance pour votre aide !
Théo LE PENNEC
 

Pièces jointes

Bonjour theolepennec,
Un essai en PJ avec une fonction perso :
VB:
Function Num(adresse)
Dim T, N, i%, D%
Application.Volatile
T = Split(adresse, " ")
If T(1) = "|" Then
    N = T(0) & "|" & T(2)
Else
    N = T(0)
End If
D = 0
For i = 1 To Len(N)
    If IsNumeric(Mid(N, i, 1)) Then D = 1
Next i
If D = 1 Then Num = N Else Num = ""
End Function
Syntaxe : =Num(C2) avec C2 cellule où il y a l'adresse.
Ceci étant dit, par expérience il y a de fortes chances que vous découvriez d'autres cas "tordus" où la fonction ne marchera pas. Du genre N2/17 ou encore 93 C .... à voir avec votre base de données.
🙄
 

Pièces jointes

Bonjour theolepennec, sylvanu,

essayez avec les formules ci-dessous (qui ne fonctionneront que pour rue ou ruelle, enfin un mot dont l'initiale est r) à étendre vers le bas tant que nécessaire

En B2 la formule suivante :
Code:
=SI(ESTNUM(GAUCHE(D2;1)*1);GAUCHE(D2;CHERCHE(" r";D2)-0);SI(SOMME(SI(ESTNUM(CHERCHE("0 r";D2));10;0);SI(ESTNUM(CHERCHE("1 r";D2));1;0);SI(ESTNUM(CHERCHE("2 r";D2));2;0);SI(ESTNUM(CHERCHE("3 r";D2));3;0);SI(ESTNUM(CHERCHE("4 r";D2));4;0);SI(ESTNUM(CHERCHE("5 r";D2));5;0);SI(ESTNUM(CHERCHE("6 r";D2));5;0);SI(ESTNUM(CHERCHE("7 r";D2));7;0);SI(ESTNUM(CHERCHE("8 r";D2));8;0);SI(ESTNUM(CHERCHE("9 r";D2));9;0))=0;"";GAUCHE(D2;CHERCHE(SOMME(SI(ESTNUM(CHERCHE("0 r";D2));10;0);SI(ESTNUM(CHERCHE("1 r";D2));1;0);SI(ESTNUM(CHERCHE("2 r";D2));2;0);SI(ESTNUM(CHERCHE("3 r";D2));3;0);SI(ESTNUM(CHERCHE("4 r";D2));4;0);SI(ESTNUM(CHERCHE("5 r";D2));5;0);SI(ESTNUM(CHERCHE("6 r";D2));5;0);SI(ESTNUM(CHERCHE("7 r";D2));7;0);SI(ESTNUM(CHERCHE("8 r";D2));8;0);SI(ESTNUM(CHERCHE("9 r";D2));9;0))&" r";D2)+1)))

En C2 la formule suivante :
Code:
=SI(B2<>"";SUBSTITUE(D2;B2;"");D2)

theolepennec.png
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour