Dans le cadre de mon boulot, je suis confronté à un souci qui pourrait être résolu par VBA et c'est là que mes compétences s'arrêtent parce qu'à part quelques macros enregistrées, je ne touche vraiment pas ce domaine. Je sollicite donc votre aide.
Mon problème:
J'ai un fichier Excel avec environ 7000 cellules non vides en colonne A, qui contiennent des chaines de caractères diverses et variées. J'aimerais isoler de ces chaines une suite de caractère qui commence toujours par S et qui possède toujours le format suivant: SXXX.XXXX. C'est une référence.
Exemple:
A1= blablabla blabl blabla SXXX.XXXX bla bla
A2= bla bla SXXX.XXXX bla bla bla blablablabla
Résultat souhaité:
B1= SXXX.XXXX
B2= SXXX.XXXX
Donc en fait il faudrait que je puisse isoler toutes les chaines de caractères qui commencent par S et se composent de 9 caractères au total.
Je pense que c'est réalisable avec VBA si je ne me trompe pas.
Bonjour le fil,
Complément si besoin avec macro
Bruno
Code:
Sub ReduitRef()
Dim lig As Long
For lig = 1 To [A65536].End(xlUp).Row
Cells(lig, 2) = Mid(Cells(lig, 1), InStr(Cells(lig, 1), ".") - 4, 9)
Next
End Sub
Function SXXXpXXXX(T As String) As String
Dim TSpl() As String, N As Long
TSpl = Split(T, " ")
For N = 0 To UBound(TSpl)
If TSpl(N) Like "S???.????" Then SXXXpXXXX = TSpl(N): Exit Function
Next N
End Function