Recherche une chaine de 10 caractères numériques

Résolu/Fermé
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 - Modifié le 27 avril 2023 à 17:09
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 - 4 mai 2023 à 18:28

Bonjour,

Je cherche une formule qui m'extrait uniquement la chaine de 10 caractères numériques.

Exemple :

  1. ttt test MM RAMI ERR GJHH 2809581599 111111111111111

Valeur recherchée : 2809581599

  1. RGH IRTY JUYT FGGHG IIDU 11111222224444 - 1303051449-230305

Valeur recherchée : 1303051449

  1. RRR DDD RTRTRTR NYHJYY DFEERR 2903041186,...

Valeur recherchée : 2903041186

Qu'importe le texte dans la cellule, je cherche uniquement les chaines de 10 caractères......

Merci d'avance,


Windows / Firefox 91.0

A voir également:

16 réponses

jee pee Messages postés 40461 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 novembre 2024 9 420
Modifié le 27 avril 2023 à 17:23

Bonjour,

Je pense que c'est difficile en excel pur. Cela ressemble à un type d'exercice où on utilise les regex (expressions régulières).

Il semble y avoir des add-on excel incluant une telle fonction : https://www.excel-pratique.com/fr/fonctions-complementaires

Et alors : https://www.excel-pratique.com/fr/fonctions-complementaires/regex-extract


1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
Modifié le 27 avril 2023 à 17:49

Bonjour et Merci,

Je vais essayer avec les macros complémentaires......C'est en effet compliqué sur EXCEL !

Cdlt

0
cousinhub29 Messages postés 959 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 19 novembre 2024 344
27 avril 2023 à 17:55

Bonjour,

Selon la version Excel utilisée, une solution par le biais de Power Query est possible...

Quelle version? (si >= à 2010, on peut envisager)

@ te relire avec ta version


1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
27 avril 2023 à 18:07

Bonjour et Merci,

Je suis en version Excel2010 et bientôt en Excel2016. Je pourrais voir si power query est accessible en entreprise. Ce qui n'est pas le cas actuellement avec EXCEL 2010. Je pourrais aussi utiliser Power BI Desktop ......A voir.

Cdlt

0
cousinhub29 Messages postés 959 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 19 novembre 2024 344
28 avril 2023 à 11:25

Bonjour,

Il n'y a pas de formules, tout se fait en requête interne à Power Query.

La source de données est le Tableau Structuré (TS) de gauche, et qui se nomme "Tableau1"

Si tu utilises bien ta version 365, et que le TS de gauche se nomme bien ainsi, regarde également dans les options de requête...

Pour ce faire :
- Clic droit sur le tableau de droite/Table/Modifier la requête (l'éditeur Power Query s'ouvre)
- A gauche, en haut, tu cliques sur "Fichier/Options et paramètres/Options de requête"
- A droite, tu sélectionnes "Confidentialité" et tu choisis "Toujours ignorer les paramètres de confidentialité" (option inutile, qui n'apporte que des désagréments dans 99% des cas)

Puis tu cliques sur "Fermer et Charger"

Et, normalement, c'est bon...


1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
28 avril 2023 à 13:01

Bonjour,

Malheureusement je travaille avec EXCEL2010, en entreprise et ne peux obtenir PoWer Query.

Merci pour cette solution, qui fonctionne chez moi mais pas sur le projet que j'ai en entreprise...

Cdlt

0
cousinhub29 Messages postés 959 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 19 novembre 2024 344 > PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023
28 avril 2023 à 13:25

Re-,

Déjà un bon point, si ça fonctionne chez toi...

Reste juste à ta boîte de migrer (minimum 2016)

Bon courage, et  bon W-E

1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21 > cousinhub29 Messages postés 959 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 19 novembre 2024
28 avril 2023 à 14:13

Merci ! Et Bon Weekend !

0
PapyLuc51 Messages postés 4397 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 19 novembre 2024 1 445
28 avril 2023 à 13:49

Bonjour, 

S'il n'y avait pas le cas de la deuxième proposition où le nombre de 10 chiffres se trouve après une autre série de chiffres il y a bien cette formule matricielle que j'ai récupérée sur le site de Bombache

{=STXT(A1;EQUIV(0;ESTERREUR(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)*1)*1;0);10)*1}

Si ça peut éventuellement aider

Cordialement

1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
28 avril 2023 à 14:12

Bonjour,

Merci!

Oui en effet sur la 2ème proposition, le résultat n'est pas bon, mais c'est un début de solution.....

Cordialement,

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PapyLuc51 Messages postés 4397 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 19 novembre 2024 1 445
29 avril 2023 à 08:12

Salut PYGOS69

Un essai en 4 étapes pour éviter des formules très très très alambiquées

https://www.cjoint.com/c/MDDgmgZmO8H

Cordialement

1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
29 avril 2023 à 17:23

.../

Encore Merci ! Je regarde.....

Cdlt

0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 425
30 avril 2023 à 10:11

Bonjour

Je tente une solution macro (à tester) qui évite le chargement du fichier des macros complémentaires

https://www.cjoint.com/c/MDEijBKLUsB

Cdlmnt

1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
1 mai 2023 à 21:29

Bonsoir ccm81,

Un grand Merci ! pour cette fonction qui devrait répondre a beaucoup de possibilités !

Cdlt

0
PapyLuc51 Messages postés 4397 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 19 novembre 2024 1 445
2 mai 2023 à 08:52

Salutations à tous

.

Bien vu ccm81 ; tu as inclus la possibilité que les 10 chiffres consécutifs soient placés au début ou à la fin. 

.

Dans mon essai je me suis contenté de répondre à la précision du message N°5 de PYGOS69

.

Cordialement

1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
Modifié le 2 mai 2023 à 11:06

Bonjour,

Après un essai, Recopie incrémentée de la formule (fonction), Excel plante avec message .......ne répond pas....

Avec un autre exemple :

ARI BVDF KDDHFHHGHGG SA 0124568956985426 TRUE 20 FDGT REVF AERT6546879 2270131481

Résultat : err

Alors qu'il y a bien une chaine de caractères de 10 ? (2270131481)

Merci d'avance !

Cdlt

1
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 425
Modifié le 2 mai 2023 à 18:49

Bonjour

1. ARI BVDF KDDHFHHGHGG SA 0124568956985426 TRUE 20 FDGT REVF AERT6546879 2270131481

Pour une donnée de ce type, il y a une suite de chiffres qui commence par 0, c'est (en principe) corrigé. Au passage ça traite du coup les suites de 10 chiffres commençant par des zéros

https://www.cjoint.com/c/MEcqvzzSzdB

2. Excel plante avec message ne répond pas.

Envoies la donnée qui provoque le plantage

Cdlmnt

1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
2 mai 2023 à 20:00

Encore Merci ccm81 !

Je suis confronté à une autre demande :

Exemple :

TTT MUUJ DSDDFDFDG GHGHG JKJKLKL DE FGFG BNHJHJHJ DGVFGF CAFE- 2302110444, 2302110445, 2302110446, 2302110447, 2302110448

Avec la fonction, le résultat est : 2302110444

C'est exact ! mais je ne sais pas comment récupérer la 2ème chaine + la 3ème .....dans ce cas précis....

C'est une minorité de cas, mais si tu pouvais ....

Cdlt

0
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478 > PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023
2 mai 2023 à 20:52

Bonjour,

En attendant ccm81, voici une autre approche :

https://www.cjoint.com/c/MEcsXIPWnsw

Function ExtraireSuitesDeChiffres(str As String) As String

    Dim regEx As New RegExp
    regEx.Pattern = "\b\d{10}\b" ' Le motif de l'expression régulière pour trouver les suites de 10 chiffres
    regEx.Global = True ' Recherche globale dans toute la chaîne
    regEx.IgnoreCase = True ' Ignorer la casse des caractères
   
    Dim matches As MatchCollection
    Set matches = regEx.Execute(str) ' Trouver toutes les suites de chiffres dans la chaîne
   
    Dim match As match
    For Each match In matches
        ExtraireSuitesDeChiffres = ExtraireSuitesDeChiffres & match.Value & " " ' Ajouter chaque suite de chiffres trouvée à la chaîne résultante
    Next match
   
    ExtraireSuitesDeChiffres = Trim(ExtraireSuitesDeChiffres) ' Supprimer l'espace en trop à la fin de la chaîne résultante"

End Function

Note: la référence Microsoft VBScript Regular Expressions est requise.
VBA > Outils > Références et cocher Microsoft VBScript Regular Expressions

1
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478 > ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023
2 mai 2023 à 21:07

Petit update de la macro :

https://www.cjoint.com/c/MEctht1bjjw

Function ExtraireSuitesDeChiffres(str As String) As String

    Dim regEx As New RegExp
    regEx.Pattern = "(^|\D)(\d{10})([^$\s;])?(\b|$)" ' Le motif de l'expression régulière pour trouver les suites de 10 chiffres entourées de non-chiffres et suivies d'un caractère non-mot, tout en excluant les symboles "$", ";" et " "
    regEx.Global = True ' Recherche globale dans toute la chaîne
    regEx.IgnoreCase = True ' Ignorer la casse des caractères
    
    Dim matches As MatchCollection
    Set matches = regEx.Execute(str) ' Trouver toutes les suites de chiffres dans la chaîne
    
    Dim match As Match
    For Each match In matches
        ExtraireSuitesDeChiffres = ExtraireSuitesDeChiffres & match.SubMatches(1) & " " ' Ajouter chaque suite de chiffres trouvée à la chaîne résultante
    Next match
    
    ExtraireSuitesDeChiffres = Trim(ExtraireSuitesDeChiffres) ' Supprimer l'espace en trop à la fin de la chaîne résultante

End Function
1
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 425 > ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023
2 mai 2023 à 22:13

Salut ozone_

Évidemment, c'est mieux comme ça ! Il ne me reste plus qu'à me pencher sérieusement sur les expressions régulières !

Bonne soirée

1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21 > ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023
2 mai 2023 à 22:25

Bonsoir ozone et ccm81,

Merci pour vos travaux différents qui me permettent de traduire ce projet ! 

Tous mes problèmes ont été résolu !

Bonne fin de journée !

0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 425
2 mai 2023 à 20:46

Je suis confronté à une autre demande : non, c'est moi ;-)

Pour une liste de séries de 10 chiffres. A tester

RQ. J'ai mis un  nombre maxi de tours de boucle (nbessaismax) à 20 en début de code, histoire de ne pas planter dans une boucle infinie, si tu peut avoir plus de 20 séries (de 10) dans la même donnée, tu changes la valeur.

https://www.cjoint.com/c/MEcsNCLDDLB

Cdlmnt

1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
Modifié le 3 mai 2023 à 09:10

Bonjour ccm81,

Je tente ! Est il possible, lorsqu'il y en a plusieurs d'insérer autant de lignes en dessous et de les indiquer ?

Exemple :

CCC AAAA DDDDDDDE DDDDD DGFGFGF DE FGF GFGFGF FGGFGF HHJH- 2302230111, 2302230112, 23022309222

Résultat en 3 lignes si c'est possible .....

Et je me suis aperçu que la fonction extrait les chaines même si ce la ne commence pas par une année comme l'exemple ci-dessous. (post 18)

ddd AAAAAAA 011CC74000100111 5372111222 REF 2038104222

Résultat : 5372566222;2038104222

Merci pour votre patience.

Cdlt

0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 425
3 mai 2023 à 15:48

Bonjour

1. Je tente ! Est il possible, lorsqu'il y en a plusieurs d'insérer autant de lignes en dessous et de les indiquer ?

Comme ça ? Mais on ne passe plus par une fonction

https://www.cjoint.com/c/MEdnUeSbUmB

Cdlmnt

1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
Modifié le 3 mai 2023 à 17:15

Bonjour,

Génial ! Merci !

En dessous s'il existe une autre ligne, c'est peut-être pas l'idéal.

Désolé je n'avais pas pensé, à cela ! Au lieu d'en dessous peut-être sur la droite : (De la colonne B à F) ou plus si besoin

TTT MUUJ DSDDFDFDG GHGHG JKJKLKL DE FGFG BNHJHJHJ DGVFGF CAFE- 2302110444, 2302110445, 2302110446, 2302110447, 2302110448  > colonnes de B à  F

2302110444 2302110445 2302110446 2302110447 2302110448

Cordialement,

Ps : Sur des fichiers de 160 lignes et +, est il possible de ne pas double cliquer à chaque ligne ?(Produit final) :)

0
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21 > PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023
3 mai 2023 à 17:07
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 425
3 mai 2023 à 17:44

Ps : Sur des fichiers de 160 lignes et +, est il possible de ne pas double cliquer à chaque ligne ?

https://www.cjoint.com/c/MEdpQ5i21JB

Cdlmnt

1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
Modifié le 3 mai 2023 à 22:50

.../

Test sur 112 lignes....

Quand je modifie les données, et que je lance la macro par ctrl + k une boite de dialogue m'affiche un message "Argument ou Appel de procédure incorrect".

Et le résultat ne se fait que sur 15 lignes...... 

Cdlt

0
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
4 mai 2023 à 12:03

Bonjour,

J'ai remarqué que le problème arrive quand sur une cellule il y a une chaine de caractères ou ne figure aucun caractère numérique. Est il possible de contourner ce problème ?

C'est à dire de donner un résultat jusqu'à la dernière cellule non vide.

Merci !

Cdlt

0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 425
4 mai 2023 à 17:27
1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
4 mai 2023 à 18:23

Merci ! Problème de chaine de caractères sans caractère numérique = ok !

Cdlt

0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 425
4 mai 2023 à 17:39

Dans celui là j'ai utilisé la fonction proposée par onzone

https://www.cjoint.com/c/MEepKUxaFDB

Cdlmnt

1
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
4 mai 2023 à 18:28

.../

Parfait pour les 2 solutions..... !

Cordialement,

0
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
27 avril 2023 à 18:08

.../

Dans un premier temps, je souhaite utiliser une formule quand la chaine de caractères est borné entre 2 espaces ou autres caractères....

0
cousinhub29 Messages postés 959 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 19 novembre 2024 344
27 avril 2023 à 18:25

Re-,

Par formules, je ne sais pas faire...

Pour Power Query, pour les versions 2010 et 2013, on peut télécharger le complément gratuitement sur le site de µSoft sous ce lien : https://www.microsoft.com/fr-FR/download/details.aspx?id=39379

Pour 2016, ce sera en natif (PS, et hors sujet, quel intérêt de ne passer qu'en 2016?????)

Tu me dis...


0
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
Modifié le 27 avril 2023 à 18:33

Je ne peux et surtout je n'ai pas l'autorisation de télécharger le complément gratuit...

Tu me dis...

../ Décision en interne car la maintenance pour Excel 2010 disparait.....Chez moi j'ai 365 !

0
cousinhub29 Messages postés 959 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 19 novembre 2024 344 > PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023
27 avril 2023 à 18:45

RE-,

J'arriverai jamais à comprendre...

Tu pourrais télécharger un complément xla (macro complémentaire), et pas un complément gratuit, et délivré par le fournisseur (donc, sans risque...)

Chez toi, ça fonctionnera

Pour mettre à jour, tu mets tes données dans le tableau de gauche, et clic droit dans le tableau de droite, "Actualiser"

https://cjoint.com/c/MDBqRmgGnUT

J'ai pris une seule option, la chaîne de 10 chiffres ne peut être bordée que par un espace ou un tiret (et bien sûr, il n'y a qu'une chaîne de 10 chiffres)

On pourrait adapter les bordures (tiret, /, \ ....)

0
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
Modifié le 28 avril 2023 à 11:11

RE;

J'ai Échec lors de l'initialisation de la source de données.

Ou est la source de données ?

Je ne vois pas de formule dans le tableau de droite.

Merci d'avance !

0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 425
29 avril 2023 à 10:42

Bonjour à tous

Juste une question en passant

Est ce que les premiers chiffres (à gauche) de la série de 10 cherchée peuvent être des zéros ?

Cdlmnt

0
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 21
29 avril 2023 à 17:22

Bonjour, non c'est général l'année 22 pour 2022.

Cdlt

0