Scinder des adresses

  • Initiateur de la discussion Initiateur de la discussion ballmaster
  • Date de début Date de début

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 !

ballmaster

XLDnaute Occasionnel
Bonjour à tous,

On m'a tranmis un fichier d'adresse où malheuseument adresse+code postal + ville sont dans une seule et même colonne.

Or il me faudrait séparer tout cela en 3 colonnes bien distinctes
col1 -> adresse
col2-> Code postal
col3 -> Ville

Le problème est les longueurs sont variables, et je n'arrive donc pas à me servir des fonctions habituelles de manière automatique (gauche,droite,stxt,nbcar).

Je suis à court d'idée.
Alors si une âme charitable peut me venir en aide......

Merci d'avance
 

Pièces jointes

Re : Scinder des adresses

Bonjour,
Si le code postal a toujours 5 chiffres, le problème revient à faire une macro qui détermine où se trouve, dans le texte étudié, cette série de 5 chiffres. Nos expert(e)s en VBA vont faire cela vite fait.
A+
 
Re : Scinder des adresses

Bonjour,

En attendant le passage des Vbaïstes, une solution avec formules matricielles :

en C2 :

Code:
=GAUCHE(B2;EQUIV(VRAI;ESTNUM(STXT(B2;LIGNE(INDIRECT("1:"&
NBCAR(A2)));5)*1);0)-1)

en D2 :

Code:
=STXT(B2;EQUIV(VRAI;ESTNUM(STXT(B2;LIGNE(INDIRECT("1:"&
NBCAR(B2)));5)*1);0)+1;5)*1

en E2 :

Code:
=STXT(B2;EQUIV(VRAI;ESTNUM(STXT(B2;LIGNE(INDIRECT("1:"&
NBCAR(B2)));5)*1);0)+7;99)

Ces formules sont à valider par CTRL + MAJ + ENTREE

Voir le fichier joint

Le principe, comme l'a évoqué job75, consiste à détecter la série de 5 chiffres consécutifs.

@+
 

Pièces jointes

Re : Scinder des adresses

bonjour ballmaster

Vois si cela te convient

Basé sur le code postal (Numerique a 5 chiffres) la macro n'est peut-etre pas universelle , mais je crois qu'elle traitera une majorité de cas

A la bourre comme d'hab !!

Salut job75 🙂
Salut Tibo 🙂🙂
 

Pièces jointes

Re : Scinder des adresses

Bonjour à tous,

Je l'ai fait alors je le poste :

Code:
Sub ExtraitAdresse()
Dim i As Long, Adresse As String
    i = 2
    Do
        Adresse = Range("B" & i).Value
        ActiveSheet.Range("E" & i).Value = Right(Adresse, Len(Adresse) - InStrRev(Adresse, " "))
        Adresse = Left(Adresse, InStrRev(Adresse, " ") - 1)
        ActiveSheet.Range("D" & i).Value = CLng(Right(Adresse, Len(Adresse) - InStrRev(Adresse, " ")))
        Adresse = Left(Adresse, InStrRev(Adresse, " ") - 1)
        ActiveSheet.Range("C" & i).Value = Adresse
        i = i + 1
    Loop Until ActiveSheet.Range("B" & i).Value = ""
End Sub
 
Re : Scinder des adresses

Bonjour,

Bonjour PierreJean je m'appréter a envoyer une macro que voici
Sub dudule()
ligne = 2
While Cells(ligne, 2) <> ""
adr = Cells(ligne, 2)
tmp1 = Split(adr, " ")

For b = UBound(tmp1) To 1 Step -1
If IsNumeric(tmp1(b)) Then
code_postal = tmp1(b)
pos = b
Exit For
End If
Next
ville = ""
adr1 = ""
For b = 0 To pos - 1
adr1 = adr1 & " " & tmp1(b)
Next
adr1 = Trim(adr1)
For b = pos + 1 To UBound(tmp1)
ville = ville & " " & tmp1(b)
Next
ville = Trim(ville)
Cells(ligne, 3) = adr1
Cells(ligne, 4) = code_postal
Cells(ligne, 5) = ville

ligne = ligne + 1
Wend
End Sub

et ce sans avoir vu la tienne !!!!!!!!!!!!!!!!!!!!
 
Re : Scinder des adresses

Bon, d'accord, mon code n'est pas universel et peut nécessiter quelques corrections... Mais franchement, y a-t-il beaucoup d'habitants du Mont d'Or dans la liste ? 😉
Je l'ai fait vite fait pour rendre service, et malgré ça j'ai été loin d'être le plus rapide...
 
Re : Scinder des adresses

re,

job75,

le coeur de la formule est ici :

Code:
EQUIV(VRAI;ESTNUM(STXT(B2;LIGNE(INDIRECT("1:"&NBCAR(A2)));5)*1)

cette formule consiste à repérer l'emplacement d'un nombre de 5 chiffres

Par contre, je ne comprends pas de quoi tu veux parler avec NBCAR(B2) ?

@+
 
- 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

Réponses
19
Affichages
3 K
J
Réponses
3
Affichages
16 K
jca06
J
Retour