Couper chaine

patlechats Messages postés 6 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 10 juillet 2009 - 4 nov. 2007 à 19:38
patlechats Messages postés 6 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 10 juillet 2009 - 6 nov. 2007 à 15:03
Bonjour,

j'ai un doc excel avec des infos dans une col A comme ceci

Adresse 1 Adresse 2 Codepostale Ville

je voudrais couper le codepostale et le mettre en colonne B et couper la ville et la
mettre en colonne C

comment je peux faire ceci.

Merci.

A+

5 réponses

caco64 Messages postés 69 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 14 décembre 2007
4 nov. 2007 à 21:38
Ce que tu veux faire n'est pas très compliqué si tes 4 champs sont séparés par des séparateurs (du genre / ou ;).

a ce moment là il existe des fonctions Vb comme instr qui permettent de repérer la position d'un caractère spécifique (ton séparateur en l'occurence). Avec la fonction mid tu peux alors facilement récupérer le bout de chaine qui t'intéresse et en faire ce que tu veux.

Si tu n'as pas de séparateur c'est plus compliqué car le caractère espace (chr(32)) peut être utilisé comme séparateur comme les autres sauf que dans ton cas, il peut aussi faire partie intégrante de l'adresse.
Concrètement :
3 impasse du bois 6 rue du québec
Il y a 7 espaces et ton programme ne peut pas deviner où il faut couper...

Essaie donc de voir si tu as des séparateurs entre tes champs.

Si vraiment tu n'en as pas, comme ce qui t'intéresse c'est la code postal, tu peux peut-être t'en sortir en cherchant l'endroit de ta chaîne qui comporte 5 chiffres à la suite. Mais ce serait moins propre.

La haine aveugle n'est pas sourde
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
5 nov. 2007 à 09:48
Salut,
Sinon si tu as un séparateur utilises Split

Car si les données sont toujours formatées de la même façon, Split te retournera un tableau comportant:

Element0: Adresse1
Element1: Adresse2
Element2: CodePostale
Element3: Ville

@+: Ju£i?n
Pensez: Réponse acceptée
0
patlechats Messages postés 6 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 10 juillet 2009
5 nov. 2007 à 11:55
Bonjour,

non je n'ai pas de séparateur / ou ; entre mes données, mais par contre je peux utiliser split car mes villes sont du style "saint-jean".

Comment utiliser cette fonction ?

Merci.
0
caco64 Messages postés 69 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 14 décembre 2007
5 nov. 2007 à 22:22
alors si tu peux utiliser split c'est vraiment tut con :
    ma_chaine = "1 rue du bois perdu 33700 saint-jean-d'oreille"
    recup = Split(ma_chaine)
   
    n = UBound(recup)
    code_postal = recup(n-1)
    ville = recup(n)

Jusque là ça baigne.
Mais si tu fais :

msgbox(recup(0)

tu vois qu'il renvoie "1" et non pas l'adresse1...

Es-tu bien sûr que saint jean de luz sera bien écrit saint-jean-de-luz ?
Dans ce cas en effet, pas de problème

La haine aveugle n'est pas sourde
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
patlechats Messages postés 6 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 10 juillet 2009
6 nov. 2007 à 15:03
bonjour,

oui mes villes sont sans espace.

Merci.
0
Rejoignez-nous