Probléme code VBA virgules

Yaniv

XLDnaute Junior
Bonjour svp je dispose du code suivant

Code:
Function FindLast(ByVal code As String) As Variant
 Dim pos As Integer
 Dim pos1 As Integer
 If code Like ("*@*") Then
   If code Like ("*,*") Then
   pos = InStr(code, "@")
   pos1 = InStr(code, ",")
 FindLast = RightNum(Mid(code, pos)) & "," & Val(Mid(code, pos1 + 1))
   Else: pos = InStr(code, "@")
         FindLast = RightNum(Mid(code, pos))
 End If
 Else: FindLast = ""
 End If
End Function

ce code me permet lorsque je dispose d un instrument financier de la forme
"1y10y @123,126 de me renvoyer les valeurs 123 et 126 et dans le cas ou il n y a pas de virgule de me renvoyer juste la valeur apres le @ toutefois j aimerais ameliore mon code afin de pouvoir egalement tenir compte du cas
ou mon instrument serait de la forme "1y10y @123,126,145" dc de pouvoir renvoyer les 3 valeur 123 126 et 145 , merci de votre aide je suis vraiment bloque
 

Yaniv

XLDnaute Junior
Re : Probléme code VBA virgules

Bonjour , dsl de repondre aussi tard mais jetais absent ce weekend.
Ce code ne pourrait pas marcher psk je ne connais pas la longueur de ma chaine de caractere(j ai donné un lmauvais exemple)
en fait je peux tres bien avoir le code suivant
"1y10y @123,156 126/456" dans ce cas je ne voudrais retirer que les valeurs 123,156
 

Dranreb

XLDnaute Barbatruc
Re : Probléme code VBA virgules

Bonjour.
Mais logiquement selon ce que vous dites, quand il y a un seulement un slash au milieu, on est bien dans le cas ou il n y a pas de virgule et vous renvoyer juste cette valeur après le @ ?
VB:
Function FindLast(ByVal Code As String) As Variant
If Code Like "*@*" Then FindLast = Split(Split(Code, "@")(1), " ")(0) Else FindLast = ""
End Function
J'en doute cependant un peu car dans une autre discussion cela devait être interprété comme d'autres informations renvoyées par des fonctions FindBid et FindAsk !
Dans ce cas il suffirait d'ajouter cette instruction:
VB:
If FindLast Like "*/*" Then FindLast = ""
Mais c'est sans doute bien plus compliqué parce qu'en plus ces fonctions ne les interprètaient comme telles que si les valeurs en question étaient numériques. Tandis que là vous parlez juste de valeur après le @ de quelque nature qu'elle soit et on ne voit pas de raison d'y tester la présence de virgules puisque s'il n'y en a pas, il faut pareil à ce qu'il y a. La seule précision que vous avez apportée c'est qu'il ne faut plus ce qu'il y aurait à partir et au delà d'un espace.
 
Dernière édition:

Discussions similaires

Réponses
6
Affichages
213

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 337
Messages
2 087 391
Membres
103 536
dernier inscrit
komivi