Extraire via formule N° plan

Résolu
Samsam -  
 Samsam -
Bonjour,

L'objectif global du tableau est de comparer des cellules afin de trouver une information liée à cette cellule.
Dans une feuille je dispose d'une colonne de cellules type "A2-1456-14585-23 BOUCHON" ou "14852-1458D ZUT" (Pas de cohérence dans le texte entre différentes lignes)
Dans une autre feuille je dispose de cellules types "BOUCHON A2-1456-14585-23" ou "ZUT 14852-1458D" ou "A2-1456-14585-23 BOUCHON"
Extraire la suite de chiffre (dans l'ordre) de ces 2 cellules et sur chaque feuille me permettrait d'user du résultat de la formule pour faire mes recherches. Comment sortir la suite de chiffres dans l'ordre dans lequel ils apparaissent et peu importe leur nombre dans une cellule distincte ?

J'ai déjà regardé les post sur les codes postaux mais cela me parait plus simple car leur structure est figée.
Ma base de donnée sortant d'extraction de logiciel de gestion, j'ai besoin de faire des extractions régulières afin d'obtenir un état up to date de ma base de données. plusieurs colonnes peuvent être dédiées à la mise en forme de l'information pour la retrouvé via VLOOKUP.

Vous remerciant par avance pour votre aide

3 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    il n'est peut être pas utile de sortir les codes des textes, puisqu'il est possible de les rechercher directement:

    =RECHERCHEV("*A2-1456-14585-23*";champ; colonne;0)
    vous ressortira les valeurs sur la ligne dont la cellule contient ce texte en première colonne, même s'il est inclus dans un autre.

    vous pouvez aussi rechercher un code inclus dans une cellule avec le même principe:
    =RECHERCHEV("*"&adresse cel &"*";.........
    attention aux signes

    pour info
    "texte*" ou Cell&"*" le texte cherché est au début
    "*texte" ou "*"&cell le texte cherché est à la fin
    "*texte*" ou "*"&cell&"*"le texte est n'importe où
    ce type de code est valable pour RECHERCHE EQUIV NB.SI SOMME.SI ect.... (toutes les fonctions dont le séparateur est un point virgule).

    crdlmnt

    Errare humanum est, perseverare diabolicum
    0
    1. Samsam
       
      Merci en faisant un "texte to column" je sors mon code de ma première feuille (rempli correctement), puis avec "*"&cell&"*" je recherche mon code dans l'autre feuille et .... Youpi !!!

      Super astuce le "*"
      0
  2. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    Bonjour,

    un p'tit coup d'expression régulière (la donnée est en A5) :
    =REGEX.STXT(A5;"\d+(-\d+)+")

    tu obtiendras ce résultat pour les données que tu as fournies :
    2-1456-14585-23
    2-1456-14585-23
    14852-1458
    2-1456-14585-23

    Il faut avoir installé MoreFunc de Laurent Longre au préalable pour utiliser cette fonction.

    cordialement
    0
    1. Samsam
       
      Merci JcDo mais j'ai le droit de rien installé sur mon PC pro...
      0
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    ou avec une fonction personnalisée :
    Function chiffres(chaine As String) As String
        Dim ch As String, i As Long, c As String
        ch = chaine
        For i = 1 To Len(ch)
            c = Mid(ch, i, 1)
            If (c <= "0" Or c >= "9") And c <> "-" Then ch = Replace(ch, c, " ")
        Next i
        chiffres = Replace(ch, " ", "")
    End Function

    Je laisse chiffres et tirets.
    https://www.cjoint.com/c/EFkvgePD4Ex

    eric

    0