Je te laisse adapter cela avec ton code VBA existant
Code:
Sub test()
Dim chaine$
chaine = "QUEST_2008_123456.xls"
tchaine = Split(chaine, "_")
MsgBox Replace(tchaine(UBound(tchaine)), ".xls", vbNullString)
End Sub
Une solution, pas très belle, mais qui fonctionne, avec ta ref en A1 :
=STXT(A1;CHERCHE("_";A1;CHERCHE("_";A1)+1)+1;NBCAR(A1)-4-CHERCHE("_";A1;CHERCHE("_";A1)+1))
Si dans le meme cas, ma structure de fichier est de 8 chiffres et .xls , les premiers chiffres étant toujours des zeros ( ex 00000001.xls ou 00100000.xls ).
Est il possible de récuperer mon numéro situé entre les zéros et .xls ?
Sub test()
Dim chaine$
chaine = "QUEST_2008_00100000.xls"
tchaine = Split(chaine, "_")
MsgBox CDbl(Replace(tchaine(UBound(tchaine)), ".xls", vbNullString))
End Sub
Le code de Pierrot93 (au passage joli, ce code) )
Code:
Sub tests()
Dim z As String, x
z = "QUEST_2008_00100000.xls"
x = CDbl(Split(Split(z, "_")(UBound(Split(z, "_"))), ".")(0))
MsgBox x
End Sub
Sub test()
Dim chaine$
chaine = "QUEST_2008_00100000.xls"
tchaine = Split(chaine, "_")
MsgBox CDbl(Replace(tchaine(UBound(tchaine)), ".xls", vbNullString))
End Sub