> Private Sub TxtCharges1_Change() > VarCharges1 = Me.Txt1 > Me.TxtSommeCharges = VarCharges1 + VarCharges2 > End Sub > VarCharges1 = =cint(Me.Txt1) ou cdbl suivant le type de saisie
> Private Sub TxtCharges2_Change() > VarCharges2 = Me.Txt2 > Me.TxtSommeCharges = VarCharges1 + VarCharges2 > End Sub > VarCharges2 = =cint(Me.Txt2) ou cdbl suivant le type de saisie
Mais prend l'habitude de déclarer tes variables dim VarCharges1 as Integer dim VarCharges2 as Integer
Merci à toi ! Sinon, à quoi correspond exactement la fonction CInt ? (je
n'ai pas MSDN d'installé)
Merci
Laurent
"Eric_B" <EB@nomail.com> a écrit dans le message de news:
XnF94F6728523843Eric@212.27.42.66...
> Private Sub TxtCharges1_Change()
> VarCharges1 = Me.Txt1
> Me.TxtSommeCharges = VarCharges1 + VarCharges2
> End Sub
>
VarCharges1 = =cint(Me.Txt1) ou cdbl suivant le type de saisie
> Private Sub TxtCharges2_Change()
> VarCharges2 = Me.Txt2
> Me.TxtSommeCharges = VarCharges1 + VarCharges2
> End Sub
>
VarCharges2 = =cint(Me.Txt2) ou cdbl suivant le type de saisie
Mais prend l'habitude de déclarer tes variables
dim VarCharges1 as Integer
dim VarCharges2 as Integer
> Private Sub TxtCharges1_Change() > VarCharges1 = Me.Txt1 > Me.TxtSommeCharges = VarCharges1 + VarCharges2 > End Sub > VarCharges1 = =cint(Me.Txt1) ou cdbl suivant le type de saisie
> Private Sub TxtCharges2_Change() > VarCharges2 = Me.Txt2 > Me.TxtSommeCharges = VarCharges1 + VarCharges2 > End Sub > VarCharges2 = =cint(Me.Txt2) ou cdbl suivant le type de saisie
Mais prend l'habitude de déclarer tes variables dim VarCharges1 as Integer dim VarCharges2 as Integer
Merci à toi ! Sinon, à quoi correspond exactement la fonction CInt ? (je n'ai pas MSDN d'installé) Merci Laurent
Cint = Converti un txt en type integer Cdbl = Converti un txt en type Double
ng
Salut,
Le plus propre est de faire ton calcul dans une variable numérique séparemment :
Dim intNb1 as Integer, intNb2 as Integer, intTot as Integer
intTot = intNb1 + intNb2
MonCtl.Text = intTot
Sinon, on peut faire ainsi :
MonCtl.Text = CInt(intNb1 + intNb2)
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ http://apisvb.europe.webmatrixhosting.net/
"Sun Service" a écrit dans le message de news:c94avr$81k$
Bonjour à tous
Je suis un peu novice sous VB6, j'ai plutot l'habitude de coder en VBA Access....bref. J'ai :
VarCharges1, VarCharges2 as Integer dans un module
Private Sub TxtCharges1_Change() VarCharges1 = Me.Txt1 Me.TxtSommeCharges = VarCharges1 + VarCharges2 End Sub
Private Sub TxtCharges2_Change() VarCharges2 = Me.Txt2 Me.TxtSommeCharges = VarCharges1 + VarCharges2 End Sub
Et donc TxtSommeCharges ne me fait pas l'addition, mais plutot 1 + 2 = 12
Je dois oublier quelque chose de tout bête je pense.....merci à ceux qui prendront le temps de me répondre
Salut,
Le plus propre est de faire ton calcul dans une variable numérique
séparemment :
Dim intNb1 as Integer, intNb2 as Integer, intTot as Integer
intTot = intNb1 + intNb2
MonCtl.Text = intTot
Sinon, on peut faire ainsi :
MonCtl.Text = CInt(intNb1 + intNb2)
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
"Sun Service" <sun.service@wanadoo.fr> a écrit dans le message de
news:c94avr$81k$1@news-reader4.wanadoo.fr...
Bonjour à tous
Je suis un peu novice sous VB6, j'ai plutot l'habitude de coder en VBA
Access....bref.
J'ai :
VarCharges1, VarCharges2 as Integer dans un module
Private Sub TxtCharges1_Change()
VarCharges1 = Me.Txt1
Me.TxtSommeCharges = VarCharges1 + VarCharges2
End Sub
Private Sub TxtCharges2_Change()
VarCharges2 = Me.Txt2
Me.TxtSommeCharges = VarCharges1 + VarCharges2
End Sub
Et donc TxtSommeCharges ne me fait pas l'addition, mais plutot 1 + 2 = 12
Je dois oublier quelque chose de tout bête je pense.....merci à ceux qui
prendront le temps de me répondre
Le plus propre est de faire ton calcul dans une variable numérique séparemment :
Dim intNb1 as Integer, intNb2 as Integer, intTot as Integer
intTot = intNb1 + intNb2
MonCtl.Text = intTot
Sinon, on peut faire ainsi :
MonCtl.Text = CInt(intNb1 + intNb2)
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ http://apisvb.europe.webmatrixhosting.net/
"Sun Service" a écrit dans le message de news:c94avr$81k$
Bonjour à tous
Je suis un peu novice sous VB6, j'ai plutot l'habitude de coder en VBA Access....bref. J'ai :
VarCharges1, VarCharges2 as Integer dans un module
Private Sub TxtCharges1_Change() VarCharges1 = Me.Txt1 Me.TxtSommeCharges = VarCharges1 + VarCharges2 End Sub
Private Sub TxtCharges2_Change() VarCharges2 = Me.Txt2 Me.TxtSommeCharges = VarCharges1 + VarCharges2 End Sub
Et donc TxtSommeCharges ne me fait pas l'addition, mais plutot 1 + 2 = 12
Je dois oublier quelque chose de tout bête je pense.....merci à ceux qui prendront le temps de me répondre
Vincent Guichard
Sun Service a écrit :
Bonjour à tous
Bonjour à toi,
En complement des autres réponses:
VarCharges1, VarCharges2 as Integer dans un module
Si tu mets sur la meme ligne cette définition, VarCharges1 est défini comme Variant et VarCharges2 comme Integer. Quand on vient d'un autre language, ça peut être facile à oublier. Le "As Type" ne s'applique qu'à la déclaration de variable précédente, et non pas à toute la ligne.
Private Sub TxtCharges1_Change() VarCharges1 = Me.Txt1
Tu stockes un String dans le Variant. VarCharges1 est donc maintenant un Variant de sous-type String.
Me.TxtSommeCharges = VarCharges1 + VarCharges2
Et tu lui applique l'opérateur de concaténation +. VarCharges2 va donc être converti implicitement du type Integer au type String, puis concaténé à VarCharges1
End Sub
Conclusion: Se méfier des types (Les expliciter chaque fois que possible) et des conversions implicites (Ce qui me déplait le plus dans VB. Il devrait exister une option pour generer des warnings, un truc dans le même genre que Option Explicit)
Vincent Guichard
Sun Service a écrit :
Bonjour à tous
Bonjour à toi,
En complement des autres réponses:
VarCharges1, VarCharges2 as Integer dans un module
Si tu mets sur la meme ligne cette définition, VarCharges1 est défini
comme Variant et VarCharges2 comme Integer. Quand on vient d'un autre
language, ça peut être facile à oublier. Le "As Type" ne s'applique qu'à
la déclaration de variable précédente, et non pas à toute la ligne.
Private Sub TxtCharges1_Change()
VarCharges1 = Me.Txt1
Tu stockes un String dans le Variant. VarCharges1 est donc maintenant un
Variant de sous-type String.
Me.TxtSommeCharges = VarCharges1 + VarCharges2
Et tu lui applique l'opérateur de concaténation +. VarCharges2 va donc
être converti implicitement du type Integer au type String, puis
concaténé à VarCharges1
End Sub
Conclusion: Se méfier des types (Les expliciter chaque fois que
possible) et des conversions implicites (Ce qui me déplait le plus dans
VB. Il devrait exister une option pour generer des warnings, un truc
dans le même genre que Option Explicit)
VarCharges1, VarCharges2 as Integer dans un module
Si tu mets sur la meme ligne cette définition, VarCharges1 est défini comme Variant et VarCharges2 comme Integer. Quand on vient d'un autre language, ça peut être facile à oublier. Le "As Type" ne s'applique qu'à la déclaration de variable précédente, et non pas à toute la ligne.
Private Sub TxtCharges1_Change() VarCharges1 = Me.Txt1
Tu stockes un String dans le Variant. VarCharges1 est donc maintenant un Variant de sous-type String.
Me.TxtSommeCharges = VarCharges1 + VarCharges2
Et tu lui applique l'opérateur de concaténation +. VarCharges2 va donc être converti implicitement du type Integer au type String, puis concaténé à VarCharges1
End Sub
Conclusion: Se méfier des types (Les expliciter chaque fois que possible) et des conversions implicites (Ce qui me déplait le plus dans VB. Il devrait exister une option pour generer des warnings, un truc dans le même genre que Option Explicit)
Vincent Guichard
Sun Service
Merci pour ces précisions...
Ciao
Laurent
"Vincent Guichard" a écrit dans le message de news: c94got$ugj$
Sun Service a écrit : > Bonjour à tous Bonjour à toi,
En complement des autres réponses:
> VarCharges1, VarCharges2 as Integer dans un module Si tu mets sur la meme ligne cette définition, VarCharges1 est défini comme Variant et VarCharges2 comme Integer. Quand on vient d'un autre language, ça peut être facile à oublier. Le "As Type" ne s'applique qu'à la déclaration de variable précédente, et non pas à toute la ligne.
> Private Sub TxtCharges1_Change() > VarCharges1 = Me.Txt1 Tu stockes un String dans le Variant. VarCharges1 est donc maintenant un Variant de sous-type String.
> Me.TxtSommeCharges = VarCharges1 + VarCharges2 Et tu lui applique l'opérateur de concaténation +. VarCharges2 va donc être converti implicitement du type Integer au type String, puis concaténé à VarCharges1
> End Sub
Conclusion: Se méfier des types (Les expliciter chaque fois que possible) et des conversions implicites (Ce qui me déplait le plus dans VB. Il devrait exister une option pour generer des warnings, un truc dans le même genre que Option Explicit)
Vincent Guichard
Merci pour ces précisions...
Ciao
Laurent
"Vincent Guichard" <vg.bleuciel.sa@wanadoo.fr> a écrit dans le message de
news: c94got$ugj$1@news-reader4.wanadoo.fr...
Sun Service a écrit :
> Bonjour à tous
Bonjour à toi,
En complement des autres réponses:
> VarCharges1, VarCharges2 as Integer dans un module
Si tu mets sur la meme ligne cette définition, VarCharges1 est défini
comme Variant et VarCharges2 comme Integer. Quand on vient d'un autre
language, ça peut être facile à oublier. Le "As Type" ne s'applique qu'à
la déclaration de variable précédente, et non pas à toute la ligne.
> Private Sub TxtCharges1_Change()
> VarCharges1 = Me.Txt1
Tu stockes un String dans le Variant. VarCharges1 est donc maintenant un
Variant de sous-type String.
> Me.TxtSommeCharges = VarCharges1 + VarCharges2
Et tu lui applique l'opérateur de concaténation +. VarCharges2 va donc
être converti implicitement du type Integer au type String, puis
concaténé à VarCharges1
> End Sub
Conclusion: Se méfier des types (Les expliciter chaque fois que
possible) et des conversions implicites (Ce qui me déplait le plus dans
VB. Il devrait exister une option pour generer des warnings, un truc
dans le même genre que Option Explicit)
"Vincent Guichard" a écrit dans le message de news: c94got$ugj$
Sun Service a écrit : > Bonjour à tous Bonjour à toi,
En complement des autres réponses:
> VarCharges1, VarCharges2 as Integer dans un module Si tu mets sur la meme ligne cette définition, VarCharges1 est défini comme Variant et VarCharges2 comme Integer. Quand on vient d'un autre language, ça peut être facile à oublier. Le "As Type" ne s'applique qu'à la déclaration de variable précédente, et non pas à toute la ligne.
> Private Sub TxtCharges1_Change() > VarCharges1 = Me.Txt1 Tu stockes un String dans le Variant. VarCharges1 est donc maintenant un Variant de sous-type String.
> Me.TxtSommeCharges = VarCharges1 + VarCharges2 Et tu lui applique l'opérateur de concaténation +. VarCharges2 va donc être converti implicitement du type Integer au type String, puis concaténé à VarCharges1
> End Sub
Conclusion: Se méfier des types (Les expliciter chaque fois que possible) et des conversions implicites (Ce qui me déplait le plus dans VB. Il devrait exister une option pour generer des warnings, un truc dans le même genre que Option Explicit)
Vincent Guichard
Zoury
Salut!
(je n'ai pas MSDN d'installé)
tu peux l'avoir online à cette adresse : http://msdn.microsoft.com/library/default.asp
pour accéder à l'aide de VB6 directement, (tu peux aussi l'atteindre en ouvrant les bons noeuds dans le menu à gauhe (treeview)) : http://msdn.microsoft.com/library/en-us/dnanchor/html/vb6anchor.asp
la section [Reference] dans la section [Documentation] contient toutes les infos sur le code (syntaxe, functions, méthodes, mot clés, etc...)
et concernant la déclaration des variables, ajoute l'option "Option Explicit" dans le haut de tout tes modules de codes (forms, classes, modules, etc.). Cela te forcera à déclarer tes variables avant de les utiliser.
tu peux l'avoir online à cette adresse :
http://msdn.microsoft.com/library/default.asp
pour accéder à l'aide de VB6 directement, (tu peux aussi l'atteindre en
ouvrant les bons noeuds dans le menu à gauhe (treeview)) :
http://msdn.microsoft.com/library/en-us/dnanchor/html/vb6anchor.asp
la section [Reference] dans la section [Documentation] contient toutes les
infos sur le code (syntaxe, functions, méthodes, mot clés, etc...)
et concernant la déclaration des variables, ajoute l'option "Option
Explicit" dans le haut de tout tes modules de codes (forms, classes,
modules, etc.). Cela te forcera à déclarer tes variables avant de les
utiliser.
tu peux l'avoir online à cette adresse : http://msdn.microsoft.com/library/default.asp
pour accéder à l'aide de VB6 directement, (tu peux aussi l'atteindre en ouvrant les bons noeuds dans le menu à gauhe (treeview)) : http://msdn.microsoft.com/library/en-us/dnanchor/html/vb6anchor.asp
la section [Reference] dans la section [Documentation] contient toutes les infos sur le code (syntaxe, functions, méthodes, mot clés, etc...)
et concernant la déclaration des variables, ajoute l'option "Option Explicit" dans le haut de tout tes modules de codes (forms, classes, modules, etc.). Cela te forcera à déclarer tes variables avant de les utiliser.