Extraction d'une chaîne de caractère Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
K
KRUS
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 30 octobre 2016
Version d'Excel : 2010

Message par KRUS » 30 octobre 2016, 09:18

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
fichier BL.xlsx
Essaie de ma macro
(12.79 Kio) Téléchargé 10 fois
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 15'436
Appréciations reçues : 545
Inscrit le : 27 août 2012
Version d'Excel : 365 Insider

Message par Jean-Eric » 30 octobre 2016, 09:49

Bonjour,
Une première proposition avec une fonction personnalisée.
Cdlt.
fichier BL.xlsm
(24.66 Kio) Téléchargé 12 fois
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
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
K
KRUS
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 30 octobre 2016
Version d'Excel : 2010

Message par KRUS » 30 octobre 2016, 10:09

Merci beaucoup Jean Eric pour votre proposition et votre réactivité.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message