Bonjour Lulu1234
Si le caractère point représente autant le séparateur décimal que la virgule, il faut le traiter dans le case
Function ExtQte2(ByVal Chaine As String, ByVal Position As Integer) As Variant
Dim I As Integer, IndexM As Integer
Dim TabChaine As Variant
Dim ChaineTrouvee As String, ChaineNumerique As String
Dim MatriceValeurs() As Variant
ExtQte2 = ""
IndexM = 0
ChaineNumerique = ""
For I = 1 To Len(Chaine)
Select Case Mid(Chaine, I, 1)
Case 0 To 9, ",", "." 'ajouter le point comme faisant partie d'une valeur numérique décimale au meme titre que la virgule
ChaineNumerique = ChaineNumerique & Mid(Chaine, I, 1)
Case Else
If ChaineNumerique <> "" Then
ReDim Preserve MatriceValeurs(IndexM)
MatriceValeurs(IndexM) = Trim(ChaineNumerique)
IndexM = IndexM + 1
ChaineNumerique = ""
End If
End Select
Next I
If UBound(MatriceValeurs) + 1 >= Position Then ExtQte2 = CDbl(MatriceValeurs(Position - 1))
End Function