j'ai une erreur de syntax à la ligne execute. Je suis vraiment désolé je ne vois pas (déjà execute ...)
lol
Merci d'avance
Gilles LAURENT [MVP]
"---DGI972---" wrote:
Le problème ne provient pas du calcul de la somme (VBScript effectue dans ce cas le typage "Double" automatiquement) mais probablement du fait que sLine est vide dans votre boucle. Si sLine est vide, soit "" alors en effet vous obtenez l'erreur indiquée. J'ai donc simplement ajouté un test pour d'une part s'assurer que la chaine n'est pas vide et d'autre part que celle-ci à une taille supérieure ou égale à 21 caractères. Bien entendu, je considère ici que sLine ne contient que des caractères numériques. Par exemple :
sLine="4052000202000000200201034567" If sLine<>"" And Len(sLine)=>21 Then sIndex=Mid(sLine, 13, 9) ' String dwSum0000 + (Mid (sIndex, 5, 5)) ' Double WScript.Echo sIndex, dwSum End If
Le problème ne provient pas du calcul de la somme (VBScript effectue dans ce
cas le typage "Double" automatiquement) mais probablement du fait que sLine
est vide dans votre boucle. Si sLine est vide, soit "" alors en effet vous
obtenez l'erreur indiquée. J'ai donc simplement ajouté un test pour d'une
part s'assurer que la chaine n'est pas vide et d'autre part que celle-ci à
une taille supérieure ou égale à 21 caractères. Bien entendu, je considère
ici que sLine ne contient que des caractères numériques. Par exemple :
sLine="4052000202000000200201034567"
If sLine<>"" And Len(sLine)=>21 Then
sIndex=Mid(sLine, 13, 9) ' String
dwSum0000 + (Mid (sIndex, 5, 5)) ' Double
WScript.Echo sIndex, dwSum
End If
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Le problème ne provient pas du calcul de la somme (VBScript effectue dans ce cas le typage "Double" automatiquement) mais probablement du fait que sLine est vide dans votre boucle. Si sLine est vide, soit "" alors en effet vous obtenez l'erreur indiquée. J'ai donc simplement ajouté un test pour d'une part s'assurer que la chaine n'est pas vide et d'autre part que celle-ci à une taille supérieure ou égale à 21 caractères. Bien entendu, je considère ici que sLine ne contient que des caractères numériques. Par exemple :
sLine="4052000202000000200201034567" If sLine<>"" And Len(sLine)=>21 Then sIndex=Mid(sLine, 13, 9) ' String dwSum0000 + (Mid (sIndex, 5, 5)) ' Double WScript.Echo sIndex, dwSum End If
Le problème ne provient pas du calcul de la somme (VBScript effectue dans ce cas le typage "Double" automatiquement) mais probablement du fait que sLine est vide dans votre boucle. Si sLine est vide, soit "" alors en effet vous obtenez l'erreur indiquée. J'ai donc simplement ajouté un test pour d'une part s'assurer que la chaine n'est pas vide et d'autre part que celle-ci à une taille supérieure ou égale à 21 caractères. Bien entendu, je considère ici que sLine ne contient que des caractères numériques. Par exemple :
sLine="4052000202000000200201034567" If sLine<>"" And Len(sLine)=>21 Then sIndex=Mid(sLine, 13, 9) ' String dwSum0000 + (Mid (sIndex, 5, 5)) ' Double WScript.Echo sIndex, dwSum End If
Bonsoir,
Ca marche pas ... les valeurs sont numériques par ex: CH6_CRE 0200201
et le résultat est correcte:12000201 Les zéros devant la variable CH6_CRE sont gérés.
Merci quand même ...
Gilles LAURENT [MVP] a pensé très fort :
"---DGI972---" wrote:
Le problème ne provient pas du calcul de la somme (VBScript effectue dans ce
cas le typage "Double" automatiquement) mais probablement du fait que sLine
est vide dans votre boucle. Si sLine est vide, soit "" alors en effet vous
obtenez l'erreur indiquée. J'ai donc simplement ajouté un test pour d'une
part s'assurer que la chaine n'est pas vide et d'autre part que celle-ci à
une taille supérieure ou égale à 21 caractères. Bien entendu, je considère
ici que sLine ne contient que des caractères numériques. Par exemple :
sLine="4052000202000000200201034567"
If sLine<>"" And Len(sLine)=>21 Then
sIndex=Mid(sLine, 13, 9) ' String
dwSum0000 + (Mid (sIndex, 5, 5)) ' Double
WScript.Echo sIndex, dwSum
End If
Bonsoir,
Ca marche pas ...
les valeurs sont numériques
par ex: CH6_CRE 0200201
Le problème ne provient pas du calcul de la somme (VBScript effectue dans ce cas le typage "Double" automatiquement) mais probablement du fait que sLine est vide dans votre boucle. Si sLine est vide, soit "" alors en effet vous obtenez l'erreur indiquée. J'ai donc simplement ajouté un test pour d'une part s'assurer que la chaine n'est pas vide et d'autre part que celle-ci à une taille supérieure ou égale à 21 caractères. Bien entendu, je considère ici que sLine ne contient que des caractères numériques. Par exemple :
sLine="4052000202000000200201034567" If sLine<>"" And Len(sLine)=>21 Then sIndex=Mid(sLine, 13, 9) ' String dwSum0000 + (Mid (sIndex, 5, 5)) ' Double WScript.Echo sIndex, dwSum End If
Bonsoir,
Ca marche pas ... les valeurs sont numériques par ex: CH6_CRE 0200201
et le résultat est correcte:12000201 Les zéros devant la variable CH6_CRE sont gérés.
Merci quand même ...
Gilles LAURENT [MVP]
"---DGI972---" <gilles.dermigny@*NO SPAM*laposte.net> a écrit dans le message de news: | Bonsoir,
Bonsoir,
| Ca marche pas ...
Comment ça ? Je dirai plutôt que le résultat ne répond pas à votre attente :-) J'ai en fait uniquement conservé la fonction Mid (sIndex, 5, 5) ne connaissant pas précisément votre besoin. Vous l'aviez compris, hein ?
"---DGI972---" <gilles.dermigny@*NO SPAM*laposte.net> a écrit dans le
message de
news:mn.5ce17d8c935ba591.55474@NOSPAMlaposte.net
| Bonsoir,
Bonsoir,
| Ca marche pas ...
Comment ça ? Je dirai plutôt que le résultat ne répond pas à votre
attente :-) J'ai en fait uniquement conservé la fonction Mid (sIndex, 5,
5) ne connaissant pas précisément votre besoin. Vous l'aviez compris,
hein ?
| Merci quand même ...
Pas de quoi ;-)
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"---DGI972---" <gilles.dermigny@*NO SPAM*laposte.net> a écrit dans le message de news: | Bonsoir,
Bonsoir,
| Ca marche pas ...
Comment ça ? Je dirai plutôt que le résultat ne répond pas à votre attente :-) J'ai en fait uniquement conservé la fonction Mid (sIndex, 5, 5) ne connaissant pas précisément votre besoin. Vous l'aviez compris, hein ?