[RESOLU]Probleme de renvoi de fonction

Yaniv

XLDnaute Junior
Bonjour tout le monde je dispose de la fonction suivante ainsi que d une macro a titre d exemple
Code:
Function Stk(code As String) As Variant
Dim x, z As Variant
Dim m As Integer
x = Split(code)
For m = LBound(x) To UBound(x)
If x(m) Like "*%*" Then
z = Split(x(m), "%")
Stk = z(0)
ElseIf x(m) Like "*bp*" Then
z = Split(x(m), "bp")
Stk = z(0) / 100

End If
Next
End Function

Sub teststr()
Dim code As String
code = "  5x15 15bp cms2 160/"
MsgBox " test " & Stk(code)
End Sub

cette fonction marche et me renvoie bien la valeur situe a gauche du bp ou d un % (s il y en a ) toutefois elle me renvoie 0 par defaut si elle ne trouve ni "bp" ni "%" or j aimerais ne rien renvoyer du tt dans ce cas cad un "" et je ne sais pas ou le placer dans ma fonction
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Probleme de renvoi de fonction

Bonjour Yaniv, bonjour le forum,

Peut-être comme ça :

Code:
Function Stk(code As String) As Variant
Dim x, z As Variant
Dim m As Integer
Dim test As Boolean

x = Split(code)
For m = LBound(x) To UBound(x)
    If x(m) Like "*%*" Then
        z = Split(x(m), "%")
        Stk = z(0)
        test = True
    ElseIf x(m) Like "*bp*" Then
        z = Split(x(m), "bp")
        Stk = z(0) / 100
        test = True
    End If
Next
If test = False Then Stk = ""
End Function
 

Discussions similaires

Réponses
3
Affichages
427