|
|
|
|
Bonjour
j'ai récupéré un fichier excel ou dans la meme colonne se trouve l'adresse le code postal et la ville je souhaiterais séparer cette colonne en 3 (une pour ladresse lautre pour le code postal et une pour la ville) mais je ne sais pas quelle est la formule pour que excel separe ce qui est a droite du code postal et a gauche du code postal de facon a separer les elements en 3 colonne.
il existe un convertisseur dans excel qui delimite aux espaces par exemple mais c vraiment pas pratique donc est ce que vous connaissez la formule magique?
merci pour votre aide
Configuration: Windows XP Internet Explorer 7.0
Je peux te proposer d'aller sur des site comme http://www.excelabo.net/xl/caracteres.php , http://bvrve.club.fr/Astuces_Michel/excel.html#Manip ou encore http://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/ .
|
Merci mais je suis déjà allée vois ces sites mais il ne donne pas la solution à mon problème car moi je cherche à enlever 5 chiffres qui se suivent (le code postal) au milieu d'une ligne de caractères texte (adresse à droite et ville à gauche)
|
Salut,
|
J'ai un fichier excel avec une colonne de ce type
|
En VBA, on écrit un programme, donc on fait ce qu'on veut...
=GAUCHE(A1;TROUVE(" ";A1))
=DROITE(A1;NBCAR(A1)-TROUVE(" ";A1))Au bout d'un moment, tu t'apercevras qu'en colonne H, si tes données sont structurées de la même façon, il te reste ton code postal.
Ne te reste ensuite qu'à concaténer les autres colonnes... Un conseil cependant : à moins que tu n'en aies vraiment pas besoin, il est plus intéressant de conserver les données de l'adresse éclatées... (si tu veux faire un publipostage, par exemple, cela te permet de positionner les champs où tu veux et de gérer ton format d'adresse) A+ Blux "Les cons, ça ose tout. C'est même à ça qu'on les reconnait" |
Salut,
1 Rue Lecouteux 41600 LAMOTTE BEUVRON 4 Rue Corse 65000 TARBES Parc Synergie Val de Loire 45130 MEUNG SUR LOIRE- La ligne de commande : sed 's/\(.*\) \([0-9]\{5\}\) \(.*\)/\1;\2;\3/' adress.txt- Le fichier en sortie :1 Rue Lecouteux;41600;LAMOTTE BEUVRON 4 Rue Corse;65000;TARBES Parc Synergie Val de Loire;45130;MEUNG SUR LOIRE;-)) Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |
J'ai contourné le problème en enregistrant ce fichier en .prn
|
Bonjour tout le monde, j'ai eu exactement le meme probleme que vous pour separer les adresses de type :
|
Bonjour,
Sub SeparAddresse()
Dim Csource As Integer, Cadd As Integer, CcodeP As Integer
Dim Cville As Integer, DebLig As Integer
Dim i As Long, e As Integer, Txt As String
Csource = 1 'colonne ou trouver la source - ici A
Cadd = 3 'Colonne où mettre l'adresse - ici C
CcodeP = 4 'Colonne où mettre le CP - ici D
Cville = 5 'Colonne où mettre la ville - ici E
DebLig = 6 'Ligne où commence le split.
With Sheets("Feuil1")
For i = DebLig To .Range("A65536").End(xlUp).Row
Txt = .Cells(i, Csource)
If Len(Txt) > 6 Then
For e = 2 To Len(Txt)
If Mid(Txt, e, 1) <> " " And IsNumeric(Mid(Txt, e, 5)) Then
.Cells(i, Cadd) = Left(Txt, e - 1)
.Cells(i, CcodeP) = Mid(Txt, e, 5)
.Cells(i, Cville) = Mid(Txt, e + 6)
Exit For
End If
Next e
End If
Next i
End With
End Sub
A+ L'expérience instruit plus sûrement que le conseil. (André Gide) Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius) |
Merci à vous.
|