PB EXCEL

ruben_2809 Messages postés 4 Statut Membre -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je sais qu'il est possible de retirer des mots ou des chiffres avec différentes formules, le problème c'est que je dois mettre au propre des fichiers de plus de 10.000 lignes, qui ont été remplis n’importe comment sans aucune règle.
Le vrai problème que je rencontre c'est au niveau de la colonne des numéros de tel.
Exemple : En sachant que tout les mots sont différents a chaque fois
L1/ locataire pourlier 0937668425
L2/pourlier 0937668425 locataire
L1/ locataire 0937668425 pourlier

Je dois mettre dans cette cellule que les numéros ou les chiffres, connaissez vous une formule qui pourrait m'aider ?

Par avance, merci de votre aide :)

3 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour,

Avec une fonction personnalisée en utilisant la techbique "expression régulière":
Option Explicit
'-----------------------------------------------------------------------------
Function Extrait_nbre(ByRef texto As String, seuil As Byte)
Dim Reg As Object, Extraction As Object, Digit As Object

Set Reg = CreateObject("vbscript.regexp")
' travaille sur toute la cellule
Reg.Global = True
' définit le modèle (caractères "digitaux" à N chiffres)
Reg.Pattern = "(\d{" & seuil & "})"
' éxécute l'extraction svt modèle (collection des digits...)
Set Extraction = Reg.Execute(texto)
' concaténète les membres de la collection "extraction"
For Each Digit In Extraction
Extrait_nbre = Extrait_nbre & (Digit.Value)
Next Digit
End Function


Si ton texte est: " tatayoyo locataire n°12 0102039405 blabla"
en Cellule B4

en C4 par ex avec n° Tél >= 10 chiffres:
=Extrait_nbre(B4, 10)



1
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 279
 
Bonjour,

=STXT(A2;CHERCHE("0";A2);10) 

eric
0
ruben_2809 Messages postés 4 Statut Membre
 
Malheureusement il y a très souvent que les 9 derniers chiffres. Il n'existe pas une formule pour garder que les chiffres et non les lettres ?
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 279
 
Je dirais plutôt : malheureusement ta question était incomplète...
eric
0
ruben_2809 Messages postés 4 Statut Membre
 
Dsl
0
The_boss_68 Messages postés 968 Date d'inscription   Statut Membre Dernière intervention   182
 
Bonjour,

Je peux te proposer ceci pour un essai

=SOMMEPROD(STXT(0&A1;GRANDE.VALEUR(INDEX(ESTNUM(--STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))*LIGNE(INDIRECT("1:"&NBCAR(A1)));0);LIGNE(INDIRECT("1:"&NBCAR(A1))))+1;1)*10^LIGNE(INDIRECT("1:"&NBCAR(A1)))/10)

Slts
0
ruben_2809 Messages postés 4 Statut Membre
 
C'est magnifique je comprends pas tout, mais c'est beau...
Le seul hic c'st quand il y a 2 numéros, ca les multiplies
0