Extraire mot dans cellule

Bonjour,

je souhaiterai recupere un mot dans une cellule si celui ci contient une phrase precis cette cellule.

Si ce mot Resultat voulu

XXXX XXX Colis numero 8r0165555 Colis numero 8r0165555

Colis numero 8r0165556 YYY aaa Colis numero 8r0165556

J'ai mit un exemple de ce que souhaiterai dans le fichier ci joint

7extrait-mot.xlsx (9.07 Ko)

Bonjour,

à tester,

=STXT(A2;TROUVE("numero";A2)+7;9)

plutot

=SIERREUR(STXT(A2;TROUVE("Colis numero";A2)+13;9);"")

C est super mais au lieu compter lettre , il est possible de compter les mots car j' ai des numéro de colis avec 13 lettre et d autre avec 21

re,

une autre possibilité à tester,

Sub NoColis()
Dim v, i As Integer
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
    rng = Cells(i, "A")
    v = Split(rng, Chr(32))
    For j = LBound(v) To UBound(v)
        On Error Resume Next
        t = v(j) & " " & v(j + 1)
        If t = "Colis numero" Then Cells(i, "C") = v(j + 2)
    Next j
Next i
End Sub

Parfait , mille merci

Bonjour,

la macro est super mais elle ne fonctionne pas quand on retourne a la ligne dans la cellule

Sans retour a la ligne, ce fonctionne

dsfsdf sdf Colis numero 8r0165555

Si on a un retour a la ligne cela ne fonctionne pas

dsfsdf sdf

Colis numero 8r0165555

et j'ai beaucoup de retour a la ligne dans mes cellules.

Si on a un retour a la ligne cela ne fonctionne pas

dsfsdf sdf

Colis numero 8r0165555

ce n'est pas à cause du retour à la ligne mais parce qu'il n'y a pas d'espace entre sdt et Colis

il faufrait remplace les Chr(10) par Chr(32)

Sub NoColis()
Dim v, i As Integer, rw As Long
rw = Cells(Rows.Count, "A").End(xlUp).Row
Range("A1:A" & rw).Replace What:=Chr(10), Replacement:=Chr(10), SearchOrder:=xlByColumns, MatchCase:=False
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
    Rng = Cells(i, "A")
    v = Split(Rng, Chr(32))
    For j = LBound(v) To UBound(v)
        On Error Resume Next
        t = v(j) & " " & v(j + 1)
        If t = "Colis numero" Then Cells(i, "C") = v(j + 2)
    Next j
Next i
End Sub

note/

si tu veux garder le retour à la ligne,

remplace cette ligne

Range("A1:A" & rw).Replace What:=Chr(10), Replacement:=Chr(32), SearchOrder:=xlByColumns, MatchCase:=False

par

Range("A1:A" & rw).Replace What:=Chr(10), Replacement:=Chr(10) & Chr(32), SearchOrder:=xlByColumns, MatchCase:=False

J'ai du louper quelques chose , ca ne fonctionne pas

4extrait-mot.xlsm (18.83 Ko)
Rechercher des sujets similaires à "extraire mot"