Récupérer des suites de chiffres dans une cellule de texte

Bonjour.

Je ne suis pas une très grande adepte et après avoir chercher 1 journée avec un collègue... Nous n'avons pas de solutions.

J'aimerais récupérer les suites de nombres après chaque "ID" (dans la cellule centrale) et les isoler dans une cellule (peu importe son placement). Est-ce que quelqu'un saurait comment faire :) merci poru toute aide

image

bonsoir

à tester avec le texte a traiter en B1

STXT(b1;CHERCHE("id";B1)+3;10)

cordialement

Bonsoir BMarie,

Passage par une macro pour récupérer les ID, certaines lignes en portant plusieurs. Accepter l'utilisation de macros.

Faire ALT + F11 pour ouvrir l'éditeur VBA puis copier celle-ci dans un module. Faire Clic droit sur VBAProject et choisir Insertion -> Module

Sub Décompte()
'Formatage du Texte pour la colonne C
Columns("C:C").WrapText = True
'Dernière ligne de la colonne B
Derlig = Range("B" & Rows.Count).End(xlUp).Row
'Boucle de la première à la dernière ligne
For Lig = 2 To Derlig
C = 1: Col = 3
Tex = Range("B" & Lig)
Nb = Len(Tex)
'Reprise de la recherche si plusieurs ID
Deb:
Rg = InStr(C, Tex, "ID") + 2
'Si aucun ID dans une ligne, pas de sauvegarde de chiffres
If Rg = 2 Then GoTo Fin
'Sauvegarde des numéros trouvés
Cells(Lig, Col) = Cells(Lig, Col) & Mid(Tex, Rg, 8)
C = Rg + 9
If C < Nb and Lig < DerLig + 1 Then C = Rg + 10: GoTo Deb
Fin:
Next Lig
End Sub

Sauver au final le fichier en extension xlsm

@tulipe_4 Merci pour votre aide, celà ne me renvoi malheureusement que les numéros du premier "ID" et non des suivants. :/

@X Cellus Merci beaucoup. Votre réponse marche à merveille!

Rebonjour :)

Est-ce que vous sauriez comment placer un séparateur de type point virgule entre ces résultats? Interne à la cellule?

Je voudrais obtenir une liste de ces ID (du type avec la fonction JOINDRE) qui marche très bien quand on a qu'une valeur par cellule mais dès qu'on en a deux il ne place pas de séparateur entre les ID.

Premier résultat ça marche très bien (en rouge). Deuxième fois non, les séparateurs ne se mettent pas correctement, uniquement entre deux cellules mais pas entre les resultats d'une cellule. (en bleu)

Merci encore!

capture d ecran 20221025 093719 image

A nouveau,

Pour cela, sous le commentaire Sauvegarde des numéros trouvés modifier ainsi en plaçant en bout de ligne & ";"

Cells(Lig, Col) = Cells(Lig, Col) & Mid(Tex, Rg, 8) & ";"

Ensuite, au bas de la macro, avant la ligne Fin:

ajoutez cette ligne.

Cells(Lig, Col) = Left(Cells(Lig, Col), Len(Cells(Lig, Col)) - 1)

La formule Joindre.Texte(";";VRAI;etc...) pourra être utilisée sur les lignes souhaitées de la colonne C.

Rechercher des sujets similaires à "recuperer suites chiffres texte"