Extraction d'une chaîne de caractère

Bonjour je débute depuis peu en VBA et je bloque totalement sur une macro.

Problème:

J'ai une colonne ou j'ai dans mes cellules plusieurs informations ( bon de livraison, bon de commande et autres commentaires.)

Je souhaiterais extraire dans la cellule qui est à coté "le bon de livraison."

Mais celui-ci peut être écrit "BL n°" ou "Bon de livraison" ,il se peut aussi qu'il n'y en ai pas...

J'aimerais que mon code extrait le bon de livraison ou qu'il ne mette rien si il ne le trouve pas...

Mais je bloque complètement....

J’espère que vous aurez le temps de me répondre, merci d'avance pour votre aide

voici mon code actuelle qui ne marche pas du tout...

Sub Macro3()

dim form, form2

form = "=MID(RC[-2],SEARCH(""BL n°"",RC[-2]),30)"

form2 = "=MID(RC[-2],SEARCH(""Bon de livraison"",RC[-2]),30)"

Range("F3").Select

Selection.AutoFill Destination:=ActiveCell.Range("A1:A70"), Type:= _

xlFillDefault

If Range("D3").Value Like "*BL n°*" Then

Range("F3").Select

Else

Range("F3").Select

ActiveCell.FormulaR1C1 = form2

End If

End Sub

19fichier-bl.xlsx (12.79 Ko)

Bonjour,

Une première proposition avec une fonction personnalisée.

Cdlt.

16fichier-bl.xlsm (24.66 Ko)
Public Function Extract(ByVal strText As String) As String
Dim tbl, i As Byte
    Extract = ""
    If strText = "" Then Exit Function
    tbl = Split(strText, Chr(10))
    For i = 0 To UBound(tbl)
        Select Case True
            Case Left(tbl(i), 2) = "BL" Or Left(tbl(i), 6) = "Bon de"
                Extract = tbl(i)
                Exit For
            Case Else
                '
        End Select
    Next i
End Function

Merci beaucoup Jean Eric pour votre proposition et votre réactivité.

Rechercher des sujets similaires à "extraction chaine caractere"