Copier (ou couper) coller d'une chaine de caractéres

Blastergeno

XLDnaute Nouveau
Bonjour à tous,

J'ai un fichier contenant de très nombreuses adresses postales dans une colonne
ex : "CC Les Quatre Temps 2 Parvis de la Défense BP 64 92800 PUTEAUX"

Je dois extraire de ces adresses les codes postaux et les villes. Les villes n'ayant pas le même nombre de caractères, je ne peux pas utiliser la fonction "=Droite()"

Je ne vois pas d'autre formule permettant de faire mon extraction...

J'ai donc pensé faire une macro qui sélectionnerait juste la chaine de caractères qui m'intéresse avec un "Selection.End(xlToLeft).Select" qui la copierait (ou couperait) puis la collerait dans une cellule de destination. Mais je n'arrive pas à faire marcher la commande "Selection.End(xlToLeft).Select" à l'intérieur de la cellule dans VBA.

Pouvez-vous m'aider ?

Merci d'avance
 
G

Guest

Guest
Re : Copier (ou couper) coller d'une chaine de caractéres

bonjour,

M'est avis que le plus simple serait d'utiliser après sélection des lignes de la colonne:

Données/Convertir, à l'étape 2 de l'assistant choisir l'espace comme séparateur.

A+
 

Tibo

XLDnaute Barbatruc
Re : Copier (ou couper) coller d'une chaine de caractéres

Bonjour,

Avec ton adresse en A1, une formule matricielle en B1 :

Code:
=STXT(A1;EQUIV(VRAI;ESTNUM(STXT(SUBSTITUE(A1;" ";"µ");
LIGNE(INDIRECT("1:"&NBCAR(A1)));5)*1);0);5)

Formule matricielle basée sur la détection d'une chaîne numérique de 5 chiffres consécutifs.

En supposant qu'il n'y ait qu'une seule valeur numérique constituée de 5 chiffres.

Pour la ville, il faut prendre en compte le texte qui suit le code postal :

Code:
=STXT(A1;EQUIV(VRAI;ESTNUM(STXT(SUBSTITUE(A1;" ";"µ");
LIGNE(INDIRECT("1:"&NBCAR(A1)));5)*1);0)+6;9^9)

Ces deux formules sont matricielles, donc validation par CTRL + MAJ + ENTREE

Je te laisse tester

@+
 

Statistiques des forums

Discussions
312 203
Messages
2 086 193
Membres
103 153
dernier inscrit
SamirN