Extraire des chiffres dans texte

Résolu
Moussine -  
 GillesCCC -
Bonjour,
j'ai un tableau excel contenant une colonne d'adresses ... celles-ci sont formées soit uniquement de texte : "Rue de la Fontaine" soit de chiffres et de texte "5 rue de la Fontaine"... je dois transférer ces données dans un autre tableau excel qui comprend 2 colonnes pour les mêmes adresses, une avec le N° de rue et l'autre avec le Nom de la Rue.... le problème bien sur est que les adresses n'étant pas toutes pareilles, et les chiffres + ou - longs, je ne peux pas utiliser la formule "stxt" puisque je ne sais pas le nb de caractères à extraire....
y aurait-il une formule qui reconnaît les chiffres dans une suite alphanumérique ? ou une autre formule qui pourrait m'aider.... merci mille fois par avance !
A voir également:

7 réponses

Papou93 Messages postés 147 Statut Membre 59
 
Bonjour Moussine,

Par formule, je ne vois pas la solution. Par contre, si tu connais VBA, voici un exemple de code qui "décortique" le contenu de la cellule "A1".
Cette macro peut-être appelée dans une boucle de traitement d'une plage de cellules.Les données sont récupérées dans les variables "Numero" et "Rue" qu'il est facile d'exploiter dans la boucle.

Dim Numero As String, Rue As String, Adresse As String
' Initialisation des variables
Numero = ""
Rue = ""
' Récupère le texte contenu dans la cellule
Adresse = Range("A1").Value
' Sépare les chiffres et les caractères
For n = 1 To Len(Adresse)
  If Asc(Mid(Adresse, n, 1)) > 47 And Asc(Mid(Adresse, n, 1)) < 58 Then
    Numero = Numero & Mid(Adresse, n, 1)
    Else
    Rue = Rue & Mid(Adresse, n, 1)
  End If
Next
' Supprime l'espace en début de la rue (si existe)
If Asc(Left(Rue, 1)) = 32 Then Rue = Mid(Rue, 2)


Espérant avoir pu t'aider.

Cordialement.
2
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonsoir,

Je vois qu'on te propose plusieurs methodes, je ne vais pas essayer d'en chercher une autre.
Je voulais juste te dire de penser éventuellement à détecter les bis et ter si ça a une importance pour ce que tu dois en faire ensuite.

Papou93, tu as les fonctions trim, ltrim rtrim pour enlever les espaces auquelles tu n'as pas pensé

cdt
eric
1
zzz383 Messages postés 12 Statut Membre 18
 
Pour trouver la rue, en supposant ton texte écrit en B5, il me semble que ceci fonctionne :

=SI(OU(CODE(B5)>57;CODE(B5)<48);B5;DROITE(B5;NBCAR(B5)-CHERCHE(" ";B5)))

Si çà te vas, je veux bien chercher pour le numéro, mais demain...
1
GillesCCC
 
Je me suis branché sur le forum et j'ai utilisé ta formule pour extraire de l'adresse le nom de la rue ...ça marche parfaitement
Maintenant comment faire pour extraire le numéro ?
Merci

gillesccc
0
zzz383 Messages postés 12 Statut Membre 18
 
Petite idée : si tes numéros sont bien tous au début de ton texte, tu peux déterminer le nombre de caractères à extraire en utilisant la fonction cherche qui te renvoie la position du texte cherché (tu cherches l'espace bien sûr).

J'espère que çà fait avancer le smilblic...
0

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

Posez votre question
Moussine
 
Bonjour,
c'est ce que j'utilise pour l'instant, mais ce n'est pas du tout pratique car bien évidemment, l'espace se retrouve tout aussi bien dans les adresses SANS numéro et dans les adresses AVEC numéro..... alors que moi, je ne veux extraire QUE le numéro.... bon, ça fait rien, tu m'as qd même donné une idée, en transformant ensuite ma colonne avec =cnum puis en enlevant tous les #VALEUR! ça va me faire gagner un peu de temps... merci quand même donc !!!

mais si qq'un a une idée plus directe, je suis tjrs preneuse !!!
merci par avance !
0
just1xpa2 Messages postés 1603 Date d'inscription   Statut Membre Dernière intervention   196
 
bonjour, je repart en chemin avec ma methode de base, a savoir, dans ton classeur, tu a une colonne , mon , prenom , adresse, ville , code postal, il doit te manquer des colonnes pour lesquels tu veux inserer des choses bien precises, a savoir n° de rue , bis ou ter etc dans ta ligne a1 tu en fait ta ligne de titre, ensuite tu fractionne ta feuille en ramenant la barre sos ton titre, ensuite, tu figes le volet, après cela, tu te sert du filtre automatique, dans tes adresse, tu tapes par exemple dans personnalise commence par 1 et tu aura toutes les adresses qui commencent par 1 , tu met dans la ligne n° le n° 1 , en suite tu reclic sur tout et tu continue , tu devrait arriver a un resultat assez vite, mais souvient toi, que tu peux dans chaque colonne saisir 1003 lignes differentes , donc enorme possibilité concernant les département, tu saisie les 2 premier chiffre et pou le code poste les 3 dernier, tu reduit considerablement ton tableau, si tu n"a pas tous compris revient ici.. cordialement
0
Moussine
 
Bonjour,
MERCI A TOUS
je vais essayer de voir ce que je peux faire avec tout ça ;o)))
bon week-end
0