Extraire via formule N° plan

Résolu/Fermé
Samsam - 10 juin 2015 à 18:39
 Samsam - 11 juin 2015 à 09:42
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
A voir également:

3 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié par Vaucluse le 10/06/2015 à 18:49
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
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
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
10 juin 2015 à 18:49
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
Merci JcDo mais j'ai le droit de rien installé sur mon PC pro...
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
10 juin 2015 à 23:06
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