Recopie d'un mot d'une cellule

alcalzone

XLDnaute Occasionnel
Bonjour à tous!
Je voudrais si c'est possible une formule qui me recopie le nom de la ville extraite d'une adresse et me la recopie dans la colonne de droite.
Exemple: en A1: lolo Dupont 1 rue du general de Gaule 78250 Meulan
En B1, je voudrais Meulan

Merci à tous de votre aide
 

andré

XLDnaute Barbatruc
Salut,

A ma connaissance par formule ce n'est pas possible puisque d'une part il existe des noms composés pour les localités (sans traits d'union), d'autre part le code postal qui précède ces noms ne sont pas les seuls chiffres dans la chaîne de caractères.

Par macro peut-être, mais là je ne puis t'aider.

Â+
 

pierrejean

XLDnaute Barbatruc
bonjour alcazone le forum

une fonction à essayer

elle suppose que la ville suive immediatement le code postal

Function ville(adresse)
For n = Len(adresse) To 1 Step -1
If Asc(Mid(adresse, n, 1)) > 47 And Asc(Mid(adresse, n, 1)) < 58 Then
ville = (Mid(adresse, n + 1, Len(adresse) - n))
Exit Function
End If
Next
End Function
 

alcalzone

XLDnaute Occasionnel
Bonjour Pierrejean et merci pour ta réponse
Je suppose que la fonction est à mettre dans la colonne ville.
J'ai essayé rapidement mais je tombe sur l'assistant foncion qui ne me laisse pas la main.
J'ai donc recopié ta fonction dans la cellule ville mais ça m'indique une erreur.
Est ce qu'il faut passer par une macro?

Encore merci de ton aide
 

alcalzone

XLDnaute Occasionnel
Bonjour Pierrejean et merci pour ta réponse
Je suppose que la fonction est à mettre dans la colonne ville.
J'ai essayé rapidement mais je tombe sur l'assistant foncion qui ne me laisse pas la main.
J'ai donc recopié ta fonction dans la cellule ville mais ça m'indique une erreur.
Est ce qu'il faut passer par une macro?

Encore merci de ton aide
 

pierrejean

XLDnaute Barbatruc
la fonction est a mettre dans un module
outils> macro > visual basic editor
ensuite insertion> module
recopier la fonction
revenir à excel
la fonction s'utilise ensuite comme les autres fonctions
elle se trouve dans les fonctions personnalisées
je te joins un fichier exemple [file name=alcazone.zip size=6706]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/alcazone.zip[/file]
 

Pièces jointes

  • alcazone.zip
    6.5 KB · Affichages: 13

pierrejean

XLDnaute Barbatruc
traduction (libre)
si le code ascii de la nieme lettre du mot adresse est inferieur à 58 et superieur à 47 alors

les chiffres sont codés en ascii de 48 --> 0
à 57 --> 9

la fonction fait une recherche en partant du dernier caractere jusqu'à ce qu'elle trouve un chiffre alors elle prend la valeur de tout ce qui est derriere et elle quitte
 

alcalzone

XLDnaute Occasionnel
Re bonjour,
Il me reste un soucis.
En fonction de la ville, j'applique un tarif différent.
Lors de la comparaison, le nom de ville n'est pas reconnu sans doute dû au format des cellules.

Encore merci [file name=alcazone_20060215183453.zip size=6539]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/alcazone_20060215183453.zip[/file]
 

Pièces jointes

  • alcazone_20060215183453.zip
    6.4 KB · Affichages: 22

alcalzone

XLDnaute Occasionnel
Merci de prendre un peu de temps.
J'ai voulu simplifié dans mon exemple précédent mais je n'aurais pas du.
La comparaison ne se fait pas directement dans la formule mais fait référence à une autre cellule.
Je ne vois pas quelle syntaxe il faut adopter

Merci de vos réponses [file name=alcazone_20060215190134.zip size=6701]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/alcazone_20060215190134.zip[/file]
 

Pièces jointes

  • alcazone_20060215190134.zip
    6.5 KB · Affichages: 12

Discussions similaires

Réponses
2
Affichages
214