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

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

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

    eric
    0
    1. 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
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Je dirais plutôt : malheureusement ta question était incomplète...
      eric
      0
    3. ruben_2809 Messages postés 4 Statut Membre
       
      Dsl
      0
  3. The_boss_68 Messages postés 959 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
    1. 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