Extraire des chiffres dans texte
Résolu
Moussine
-
GillesCCC -
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 !
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:
- Extraire des chiffres dans texte
- Extraire une video youtube - Guide
- Extraire le son d'une vidéo - Guide
- Extraire texte d'une image - Guide
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Extraire image pdf - Guide
7 réponses
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.
Espérant avoir pu t'aider.
Cordialement.
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.
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
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
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...
=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...
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...
J'espère que çà fait avancer le smilblic...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 !
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 !
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