Bonjour,
dim a as string
dim b as string
dim c as string
dim d as string
dim i as double
a = mid("SCALE: 1//142.9g/", 11,3)
' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1)
' b = ","
c = mid("SCALE: 1//142.9g/", 15,1)
' b = "9"
d = a & b & c & d
' d = "142,9"
i = cdbl(d)
' i = 142,9
Est-ce ça que tu voulais ???
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"greg" a écrit dans le message de news:
49285e17$0$28670$
| Bonjour,
|
| comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
| exemple
| SCALE: 1//142.9g/
|
|
Bonjour,
dim a as string
dim b as string
dim c as string
dim d as string
dim i as double
a = mid("SCALE: 1//142.9g/", 11,3)
' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1)
' b = ","
c = mid("SCALE: 1//142.9g/", 15,1)
' b = "9"
d = a & b & c & d
' d = "142,9"
i = cdbl(d)
' i = 142,9
Est-ce ça que tu voulais ???
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"greg" <bmouradian@club-internet.fr> a écrit dans le message de news:
49285e17$0$28670$7a628cd7@news.club-internet.fr...
| Bonjour,
|
| comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
| exemple
| SCALE: 1//142.9g/
|
|
Bonjour,
dim a as string
dim b as string
dim c as string
dim d as string
dim i as double
a = mid("SCALE: 1//142.9g/", 11,3)
' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1)
' b = ","
c = mid("SCALE: 1//142.9g/", 15,1)
' b = "9"
d = a & b & c & d
' d = "142,9"
i = cdbl(d)
' i = 142,9
Est-ce ça que tu voulais ???
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"greg" a écrit dans le message de news:
49285e17$0$28670$
| Bonjour,
|
| comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
| exemple
| SCALE: 1//142.9g/
|
|
LE TROLL a écrit :Bonjour,
dim a as string
dim b as string
dim c as string
dim d as string
dim i as double
a = mid("SCALE: 1//142.9g/", 11,3)
' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1)
' b = ","
c = mid("SCALE: 1//142.9g/", 15,1)
' b = "9"
d = a & b & c & d
' d = "142,9"
i = cdbl(d)
' i = 142,9
Est-ce ça que tu voulais ???
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"greg" a écrit dans le message de news:
49285e17$0$28670$
| Bonjour,
|
| comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
| exemple
| SCALE: 1//142.9g/
|
|
ou encore
iÍbl(replace(mid$("SCALE: 1//142.9g/",11,5),".",",")
'soit
' mid$("SCALE: 1//142.9g/",11,5) renvoie "142.9"
'replace("142.9",".",",") renvoie "142,9"
'Cdbl("142,9") renvoie 142.9
LE TROLL a écrit :
Bonjour,
dim a as string
dim b as string
dim c as string
dim d as string
dim i as double
a = mid("SCALE: 1//142.9g/", 11,3)
' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1)
' b = ","
c = mid("SCALE: 1//142.9g/", 15,1)
' b = "9"
d = a & b & c & d
' d = "142,9"
i = cdbl(d)
' i = 142,9
Est-ce ça que tu voulais ???
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"greg" <bmouradian@club-internet.fr> a écrit dans le message de news:
49285e17$0$28670$7a628cd7@news.club-internet.fr...
| Bonjour,
|
| comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
| exemple
| SCALE: 1//142.9g/
|
|
ou encore
iÍbl(replace(mid$("SCALE: 1//142.9g/",11,5),".",",")
'soit
' mid$("SCALE: 1//142.9g/",11,5) renvoie "142.9"
'replace("142.9",".",",") renvoie "142,9"
'Cdbl("142,9") renvoie 142.9
LE TROLL a écrit :Bonjour,
dim a as string
dim b as string
dim c as string
dim d as string
dim i as double
a = mid("SCALE: 1//142.9g/", 11,3)
' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1)
' b = ","
c = mid("SCALE: 1//142.9g/", 15,1)
' b = "9"
d = a & b & c & d
' d = "142,9"
i = cdbl(d)
' i = 142,9
Est-ce ça que tu voulais ???
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"greg" a écrit dans le message de news:
49285e17$0$28670$
| Bonjour,
|
| comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
| exemple
| SCALE: 1//142.9g/
|
|
ou encore
iÍbl(replace(mid$("SCALE: 1//142.9g/",11,5),".",",")
'soit
' mid$("SCALE: 1//142.9g/",11,5) renvoie "142.9"
'replace("142.9",".",",") renvoie "142,9"
'Cdbl("142,9") renvoie 142.9
Bonjour,
dim a as string
dim b as string
dim c as string
dim d as string
dim i as double
a = mid("SCALE: 1//142.9g/", 11,3)
' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1)
' b = ","
c = mid("SCALE: 1//142.9g/", 15,1)
' b = "9"
d = a & b & c & d
' d = "142,9"
i = cdbl(d)
' i = 142,9
Est-ce ça que tu voulais ???
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"greg" a écrit dans le message de news:
49285e17$0$28670$
| Bonjour,
|
| comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
| exemple
| SCALE: 1//142.9g/
|
|
Bonjour,
dim a as string
dim b as string
dim c as string
dim d as string
dim i as double
a = mid("SCALE: 1//142.9g/", 11,3)
' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1)
' b = ","
c = mid("SCALE: 1//142.9g/", 15,1)
' b = "9"
d = a & b & c & d
' d = "142,9"
i = cdbl(d)
' i = 142,9
Est-ce ça que tu voulais ???
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"greg" <bmouradian@club-internet.fr> a écrit dans le message de news:
49285e17$0$28670$7a628cd7@news.club-internet.fr...
| Bonjour,
|
| comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
| exemple
| SCALE: 1//142.9g/
|
|
Bonjour,
dim a as string
dim b as string
dim c as string
dim d as string
dim i as double
a = mid("SCALE: 1//142.9g/", 11,3)
' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1)
' b = ","
c = mid("SCALE: 1//142.9g/", 15,1)
' b = "9"
d = a & b & c & d
' d = "142,9"
i = cdbl(d)
' i = 142,9
Est-ce ça que tu voulais ???
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"greg" a écrit dans le message de news:
49285e17$0$28670$
| Bonjour,
|
| comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
| exemple
| SCALE: 1//142.9g/
|
|
merci pour ton aide,
le problème c'est que le 142,9 peut être 7,3 ou 70,4 ou 1100,7 alors avec
mid je ne sais pas si peut être efficace
merci pour ton aide,
le problème c'est que le 142,9 peut être 7,3 ou 70,4 ou 1100,7 alors avec
mid je ne sais pas si peut être efficace
merci pour ton aide,
le problème c'est que le 142,9 peut être 7,3 ou 70,4 ou 1100,7 alors avec
mid je ne sais pas si peut être efficace
Bonjour,
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
Bonjour,
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
Bonjour,
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
greg wrote:Bonjour,
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
Hello,
Ce dont tu as besoin, ce sont des fonctions de manipulations
de chaines de caractères.
Tu trouveras dans la FAQ 2 articles consacrés au sujet (et qui
contiennent la solution à ton problème):
http://faq.vb.free.fr/index.php?question8
et
http://faq.vb.free.fr/index.php?question7
Voir en particulier la description de Instr() ...
Pour en revenir à ton cas, ce qu'il te faut, c'est localiser
le "." puis lire les digits à droite et à gauche. On réalise
ça avec la fonction Instr (cf les 2 articles ci-dessus).
Je t'ai fait une petite fonction qui résoud ton cas :
Public Function GetAndSplit(ByVal s As String, _
ByVal sep As String, _
ByRef first As String, _
ByRef last As String) As Boolean
Dim p As Long
Dim saveP As Long
Dim ret As Boolean
Dim c As String
p = InStr(s, sep)
saveP = p
If p <> 1 Then
' read left digits
p = p - 1
c = Mid$(s, p, 1)
Do While p >= 1
If isDigit(c) Then
first = c & first
Else
Exit Do
End If
p = p - 1
c = Mid$(s, p, 1)
Loop
' now read right digits
p = saveP
p = p + 1
c = Mid$(s, p, 1)
Do While p <= Len(s)
If isDigit(c) Then
last = last & c
Else
Exit Do
End If
p = p + 1
c = Mid$(s, p, 1)
Loop
If (first <> "") And (last <> "") Then
ret = True
End If
End If
GetAndSplit = ret
End Function
Private Function isDigit(ByVal c As String) As Boolean
If InStr("0123456789", c) <> 0 Then
isDigit = True
End If
End Function
Et pour la tester, tu peux faire ceci :
Private Sub Command1_Click()
Dim s As String
Dim ret As Boolean
Dim first As String
Dim last As String
s = "SCALE: 1//142.9g/"
ret = GetAndSplit(s, ".", first, last)
Debug.Print ret, first, last
End Sub
Tu verras que tu obtiens "142" dans first et "9" dans last.
Tu n'as plus qu'à convertir et à continuer.
Note: pour ce genre de parsing, tu peux aussi utiliser la technique
des automates à états finis, décrits ici:
http://faq.vb.free.fr/index.php?question3
Cordialement,
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
greg wrote:
Bonjour,
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
Hello,
Ce dont tu as besoin, ce sont des fonctions de manipulations
de chaines de caractères.
Tu trouveras dans la FAQ 2 articles consacrés au sujet (et qui
contiennent la solution à ton problème):
http://faq.vb.free.fr/index.php?question8
et
http://faq.vb.free.fr/index.php?question7
Voir en particulier la description de Instr() ...
Pour en revenir à ton cas, ce qu'il te faut, c'est localiser
le "." puis lire les digits à droite et à gauche. On réalise
ça avec la fonction Instr (cf les 2 articles ci-dessus).
Je t'ai fait une petite fonction qui résoud ton cas :
Public Function GetAndSplit(ByVal s As String, _
ByVal sep As String, _
ByRef first As String, _
ByRef last As String) As Boolean
Dim p As Long
Dim saveP As Long
Dim ret As Boolean
Dim c As String
p = InStr(s, sep)
saveP = p
If p <> 1 Then
' read left digits
p = p - 1
c = Mid$(s, p, 1)
Do While p >= 1
If isDigit(c) Then
first = c & first
Else
Exit Do
End If
p = p - 1
c = Mid$(s, p, 1)
Loop
' now read right digits
p = saveP
p = p + 1
c = Mid$(s, p, 1)
Do While p <= Len(s)
If isDigit(c) Then
last = last & c
Else
Exit Do
End If
p = p + 1
c = Mid$(s, p, 1)
Loop
If (first <> "") And (last <> "") Then
ret = True
End If
End If
GetAndSplit = ret
End Function
Private Function isDigit(ByVal c As String) As Boolean
If InStr("0123456789", c) <> 0 Then
isDigit = True
End If
End Function
Et pour la tester, tu peux faire ceci :
Private Sub Command1_Click()
Dim s As String
Dim ret As Boolean
Dim first As String
Dim last As String
s = "SCALE: 1//142.9g/"
ret = GetAndSplit(s, ".", first, last)
Debug.Print ret, first, last
End Sub
Tu verras que tu obtiens "142" dans first et "9" dans last.
Tu n'as plus qu'à convertir et à continuer.
Note: pour ce genre de parsing, tu peux aussi utiliser la technique
des automates à états finis, décrits ici:
http://faq.vb.free.fr/index.php?question3
Cordialement,
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
greg wrote:Bonjour,
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
Hello,
Ce dont tu as besoin, ce sont des fonctions de manipulations
de chaines de caractères.
Tu trouveras dans la FAQ 2 articles consacrés au sujet (et qui
contiennent la solution à ton problème):
http://faq.vb.free.fr/index.php?question8
et
http://faq.vb.free.fr/index.php?question7
Voir en particulier la description de Instr() ...
Pour en revenir à ton cas, ce qu'il te faut, c'est localiser
le "." puis lire les digits à droite et à gauche. On réalise
ça avec la fonction Instr (cf les 2 articles ci-dessus).
Je t'ai fait une petite fonction qui résoud ton cas :
Public Function GetAndSplit(ByVal s As String, _
ByVal sep As String, _
ByRef first As String, _
ByRef last As String) As Boolean
Dim p As Long
Dim saveP As Long
Dim ret As Boolean
Dim c As String
p = InStr(s, sep)
saveP = p
If p <> 1 Then
' read left digits
p = p - 1
c = Mid$(s, p, 1)
Do While p >= 1
If isDigit(c) Then
first = c & first
Else
Exit Do
End If
p = p - 1
c = Mid$(s, p, 1)
Loop
' now read right digits
p = saveP
p = p + 1
c = Mid$(s, p, 1)
Do While p <= Len(s)
If isDigit(c) Then
last = last & c
Else
Exit Do
End If
p = p + 1
c = Mid$(s, p, 1)
Loop
If (first <> "") And (last <> "") Then
ret = True
End If
End If
GetAndSplit = ret
End Function
Private Function isDigit(ByVal c As String) As Boolean
If InStr("0123456789", c) <> 0 Then
isDigit = True
End If
End Function
Et pour la tester, tu peux faire ceci :
Private Sub Command1_Click()
Dim s As String
Dim ret As Boolean
Dim first As String
Dim last As String
s = "SCALE: 1//142.9g/"
ret = GetAndSplit(s, ".", first, last)
Debug.Print ret, first, last
End Sub
Tu verras que tu obtiens "142" dans first et "9" dans last.
Tu n'as plus qu'à convertir et à continuer.
Note: pour ce genre de parsing, tu peux aussi utiliser la technique
des automates à états finis, décrits ici:
http://faq.vb.free.fr/index.php?question3
Cordialement,
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Bonjour,
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
Bonjour,
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
Bonjour,
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
Bonsour® greg avec ferveur ;o))) vous nous disiez :comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
cDbl( Mid( Left( "SCALE: 1//142.9g/" , Instr( "g" , "SCALE: 1//142.9g/" )-1) , Instr( "//" , "SCALE: 1//142.9g/" ) + 2 , 9^9 ) )
142.9
Bonsour® greg avec ferveur ;o))) vous nous disiez :
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
cDbl( Mid( Left( "SCALE: 1//142.9g/" , Instr( "g" , "SCALE: 1//142.9g/" )-1) , Instr( "//" , "SCALE: 1//142.9g/" ) + 2 , 9^9 ) )
142.9
Bonsour® greg avec ferveur ;o))) vous nous disiez :comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
cDbl( Mid( Left( "SCALE: 1//142.9g/" , Instr( "g" , "SCALE: 1//142.9g/" )-1) , Instr( "//" , "SCALE: 1//142.9g/" ) + 2 , 9^9 ) )
142.9