PB EXCEL

Fermé
ruben_2809 Messages postés 4 Date d'inscription vendredi 27 septembre 2019 Statut Membre Dernière intervention 27 septembre 2019 - 27 sept. 2019 à 10:04
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 28 sept. 2019 à 13:51
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 306
Modifié le 28 sept. 2019 à 13:58
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 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 234
27 sept. 2019 à 10:57
Bonjour,

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

eric
0
ruben_2809 Messages postés 4 Date d'inscription vendredi 27 septembre 2019 Statut Membre Dernière intervention 27 septembre 2019
27 sept. 2019 à 11:00
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 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 234
27 sept. 2019 à 11:05
Je dirais plutôt : malheureusement ta question était incomplète...
eric
0
ruben_2809 Messages postés 4 Date d'inscription vendredi 27 septembre 2019 Statut Membre Dernière intervention 27 septembre 2019
27 sept. 2019 à 13:09
Dsl
0
The_boss_68 Messages postés 928 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 10 juin 2024 177
27 sept. 2019 à 11:59
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 Date d'inscription vendredi 27 septembre 2019 Statut Membre Dernière intervention 27 septembre 2019
27 sept. 2019 à 12:13
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