rss
separer adresse cp et ville dans excel
par melissa4
 Fil de Discussions
Statut : Résolu
mercredi 24 janvier 2007 à 13:15:52
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
Répondre à melissa4  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par _goni, le mercredi 24 janvier 2007 à 17:39:28 Fil de Discussions
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/ .
Maintenant, si je ne réponds pas à ce genre de post c'est pcq j'en sais pas plus que toi mais je tape trois mot dans google (manipuler chaine caractère) et je trouve une tone de choses très intéressantes. Benoit.
Enlèves tes doigts sales de mon clavier.
Répondre à _goni

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par melissa4, le jeudi 25 janvier 2007 à 09:57:01 Fil de Discussions
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)

il doit exister une formule qui reconnait les chiffres au milieu de lettre ou qui puisse me dire a partir de quel caractere (quel nombre) commence les chiffres et a partir de quel caractere ils finissent (du style =DROITE() ou =GAUCHE()

j'ai trouvé une formule:
{=1*STXT(A1;EQUIV(0;ESTERREUR(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)*1)*1);0­);NBCAR(A1)-SOMME((ESTERREUR(STXT(A1;LIGNE(INDIRECT("1:&NBCAR(A1)));1)*1)*1)))}
mais ça ne marche pas
Répondre à melissa4

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par blux, le jeudi 25 janvier 2007 à 10:21:53 Fil de Discussions
Salut,

il n'y a pas de fonction toute faite pour 'exploser' une chaine de caractères, n'oublie pas qu'excel, à la bse, est un tableur et manipule des nombres...

Il existe la fonction ESTNUM pour savoir si une valeur est de type numérique et la fonction CHERCHE, pour trouver un caractère particulier, mais pas de fonction cherchant une classe de caractères...

La fonction que tu as collée ne marche pas, dis-tu, mais qu'est-ce qui ne marche pas ?

Comment est ton adresse, y'a-t'il un numéro de rue ? (parce que ça peut compliquer...)
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par melissa4, le jeudi 25 janvier 2007 à 10:36:06 Fil de Discussions
j'ai un fichier excel avec une colonne de ce type

1 Rue Lecouteux 41600 LAMOTTE BEUVRON
4 Rue Corse 65000 TARBES
Parc Synergie Val de Loire 45130 MEUNG SUR LOIRE

le code postal n'est jamais au meme endroit dans la cellule (dans l'adresse 1 : le 1er chiffre du code postal est en 17eme position en comptant les espaces alors que pour l'adresse 2 il est en 13eme position) donc il faut commencer par calculer le nombre total de caratere dans la cellule (formule =NBCAR(A1)) (celle la je la connais)
puis il faut calculer le nombre de caractere avant et apres le code postal (formule du style =1*STXT(A1;P;5) ou avec la formule cherche et trouve) enfin je n'en sais rien mais je sais que c'est possible

HELP...
Répondre à melissa4

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par blux, le jeudi 25 janvier 2007 à 10:52:23 Fil de Discussions
C'est à faire une seule fois ?
Ou à chaque nouvelle donnée entrée ?

Parce qu'on peut éclater la cellule avec 'espace' comme séparateur et ensuite regrouper les champs ainsi découpés...

Sinon, faut passer par du VBA...
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par melissa4, le jeudi 25 janvier 2007 à 11:00:25 Fil de Discussions
c'est à faire pour environ 3000 lignes d'adresses (donc le séparateur j'ai déjà essayé mais j'ai perdu trop de cheveux donc je cherche une autre méthode où il n'y a pas autant de retraitement à faire)

tu peux m'en dire plus sur le vba?
Répondre à melissa4

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par blux, le jeudi 25 janvier 2007 à 11:18:19 Fil de Discussions
En VBA, on écrit un programme, donc on fait ce qu'on veut...

Sinon, je te propose un moyen simple :

Tu recopies ces deux formules dans les colonnes après ta donnée, et tu les dupliques deux à deux (colonne B vers colonne D, F... et colonne C vers E,G...).
=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"
Répondre à blux

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par melissa4, le jeudi 25 janvier 2007 à 11:23:31 Fil de Discussions
ok merci beaucoup pour ton aide

c'est vraiment sympa
Répondre à melissa4

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par jipicy, le jeudi 25 janvier 2007 à 11:31:11 Fil de Discussions
Salut,

En enregistrant ton fichier au format "CSV", puis en le "parsant" avec un éditeur de flux comme Sed pour Windows, tu pourrais facilement avoir (en ligne de commande) :

- Le fichier original :
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é.
Répondre à jipicy

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par melissa4, le jeudi 25 janvier 2007 à 11:39:51 Fil de Discussions
merci c'est cool mais il faut que je télécharge le logiciel sed c'est ça? (oh la honte je suis vraimant une débutante)
je vais essayer de me débrouiller avec toutes ces infos
Répondre à melissa4

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par blux, le jeudi 25 janvier 2007 à 12:21:54 Fil de Discussions
Dans le message de jicipy, il y a un lien, reste juste à le suivre ! :-) A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par gerard, le mercredi 7 février 2007 à 11:28:22 Fil de Discussions
salut melissa

je voudrais savoir si tu as résolu ton pb, parce que j'ai exactement la meme chose a faire....

merci d'avance

gérard
Répondre à gerard

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par xkristi, le mercredi 7 février 2007 à 15:19:03 Fil de Discussions
J'ai contourné le problème en enregistrant ce fichier en .prn
ensuite je suis aller le renommer en enlevant l'extension.
et quand je l'ouvre dans Excel , je tombe sur l'assistant importation de texte
je choisis type de fichier délimité , suivant et je coche le délimiteur espace , j'obtiens ainsi autant de colonnes qu'il y de mot
ensuite je concatène les colonnes que je veux

C'est un truc presque de débutant , mais je ne vois pas autrement xkristi
La vie en plus ...
Répondre à xkristi

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par gerard, le mercredi 7 février 2007 à 16:03:01 Fil de Discussions
OK

j'ai finalement trouvé une solution, avec la fonction TROUVE ; mais mon fichier ne comportait des adresses avec codes postaux que de 4 départements différents
et donc j'ai fait un test sur la chaine de caracteres (à quel endroit se trouvait le numéro de dept)....

c'est pas optimal, mais ca a marché et etait tres rapide
Répondre à gerard

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par blux, le mercredi 7 février 2007 à 15:42:34 Fil de Discussions
C'est ce que j'ai proposé en <7>...
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre à blux

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par xkristi, le mercredi 7 février 2007 à 16:04:39 Fil de Discussions
Blux , j'ai vu
mais apparemment , elle n'avait pas assimilé ton propos !
mais vrai : tu as raison ! mes excuses : passe donc devant (sourire)
xkristi
La vie en plus ...
Répondre à xkristi

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Loki, le mercredi 18 juin 2008 à 15:56:51 Fil de Discussions 
Bonjour tout le monde, j'ai eu exactement le meme probleme que vous pour separer les adresses de type :

12 rue tolbiac 75005 PARIS

et pour les prochains voila la solution :

Dans excel cliquez sur outils puis dans Macros lancez le Visual Basic editor.

là, allez dans VBA Project
dans le dossier module et enfin dans Module1

La dans la grande fenetre faites un joli copier coller de la macro que voila (comprise entre les 2 lignes) :

------------------------------------------------------------------------------------------­----------------------

Function mode_calcul() As String
If (Cells(1, 43).Value = 0 Or IsNull(Cells(1, 43).Value)) Then
If (Cells(1, 46).Value = 0 Or IsNull(Cells(1, 46).Value)) Then
If (Cells(1, 60).Value = 0 Or IsNull(Cells(1, 46).Value)) Then
mode_calcul = ""
Else
mode_calcul = "-SLR"
End If
Else
mode_calcul = "-NET"
End If
Else
mode_calcul = "-BRT"
End If


End Function

Function nb_lignes() As Integer
Dim celluleCourante As Variant
Set celluleCourante = Range("A1")
nb_lignes = 1
Do While Not IsEmpty(celluleCourante)
Set celluleCourante = celluleCourante.Offset(1, 0)
nb_lignes = nb_lignes + 1
Loop
If nb_lignes = 1 Then nb_lignes = 2
End Function


Sub Adresses()
Dim dimension As Integer
Dim Cpt As Integer
Dim Cpt2 As Integer
Dim Adresse As String
Dim Ville As String
Dim CP As String
Dim finCP As Integer
Dim chaine As String
Dim Position As Integer

dimension = nb_lignes()
For Cpt = 1 To dimension
chaine = Cells(Cpt, 1)
Position = 0
For Cpt2 = 1 To Len(chaine) - 5
If IsNumeric(Mid(chaine, Cpt2, 6)) And Cpt2 > Position + 2 Then
Position = Cpt2
End If
Next Cpt2
If Position > 0 Then
For finCP = Position To Len(chaine)
If Trim(Mid(chaine, Position, finCP - Position)) <> "" Then
If Not IsNumeric(Mid(chaine, Position, finCP - Position)) Or Len(Mid(chaine, Position, finCP - Position)) > 7 Then Exit For
End If
Next finCP
If finCP > Len(chaine) Then finCP = Len(chaine) + 2
CP = Trim(Mid(chaine, Position, finCP - Position - 1))
finCP = finCP - 1
Adresse = Trim(Left(chaine, Position - 1))
If finCP > Len(chaine) Then finCP = Len(chaine) + 1
Ville = Trim(Right(chaine, Len(chaine) - finCP + 1))
Cells(Cpt, 1) = Adresse
Cells(Cpt, 2) = CP
Cells(Cpt, 3) = Ville
End If
Next Cpt
Range("B1", "B" & dimension).Replace What:=" ", Replacement:=""
End Sub

-----------------------------------------------------------------------------------------



Une fois cela copié :
mettez toutes vos adresses dans la Colonne A (la premiere de votre fichier) et retournez dans outils, Macros, Macros et cliquez sur la jolie petite macro appelée Adresses.
Et hop c magique vos adresses sont séparés de vos codes posteaux et de votre ville :) :) :)
C beau non

enfin derniere petite precision si la colonne A ne vous plait pas modifiez les trois lignes en fin de macro
Cells(Cpt, 1) = Adresse
Cells(Cpt, 2) = CP
Cells(Cpt, 3) = Ville

avec les numeros de colonne que vous désirez sachant que votre adresse concaténée doit se trouvée dans Adresse
que le numero et la rue s'y trouverons tjs et que CP et ville seront comme leur nom l'indiquent les colonnes Code postal et ville.
Bon travail a vous tous messieurs dames et j'espere que vous aurez gagner du temps grace à ca :)
Répondre à Loki
Discussions pertinentes trouvées dans le forum
03/10 17h38séparation d'un tableau excelBureautique24/10 19h143
09/01 09h20Pb adresses absolues graphique ExcelBureautique09/01 09h200
04/11 23h21Importer des adresses mail d'ExcelMessagerie/Chat22/06 18h474
18/10 17h30import sur Mac d' adresses dans fichier excelLogiciels/Pilotes18/10 17h300
Plus de discussions sur « separer adresse cp et ville dans excel » Discussion en cours Discussion fermée Problème résolu
Logiciels pertinents trouvés dans les téléchargements
Télécharger Excel Viewer 2003Excel Viewer - Avec Microsoft Office Excel Viewer 2003, vous pouvez ouvrir, afficher et imprimer des classeurs Excel (fichiers XLS ), même...Catégorie: Tableur
Licence: Freeware/gratuit
Télécharger CPU-z 1.46CPU-z - CPU-Z est un logiciel gratuit collectant des informations sur les principaux éléments de l' ordinateur : ...Catégorie: Diagnostic
Licence: Freeware/gratuit
Télécharger CPU Idle ExtremeCPU Idle - CpuIdle est un logiciel de refroidissement du processeur et de gestion de l'alimentation. CPU Idle permet notamment : ...Catégorie: Optimisation
Licence: Shareware
Télécharger ProtoWall 1.42 build 5300 ProtoWall - Protowall est un pare-feu léger fonctionnant en arrière-plan. Il consomme peu de ressources CPU (processeur) et RAM...Catégorie: Firewall
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « separer adresse cp et ville dans excel »
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide