Calcul a l'interieur d un code

Le
DOMINIQUE
Bonjour le forum,
Pouvez vous m'aider sur mon problème?
Mon code plante par une incompatibilité de type.
C'est le début de code qui ne va pas lors des règles de calcul. voici le
code :

Sub ValeurDifferenceCarto()

Dim A As Single
Dim b As Single
Dim c As Single
Dim e As Single
Dim f As Single
Dim d As Single

b = CDbl(Te_PointBois.Value)
c = CDbl(Te_PointPlaine.Value)
d = CDbl(Te_SurfCartoBois.Value)
e = CDbl(Te_SurfCartoPlaine.Value)
f = CDbl(Te_PointPlaineValeur.Value)

A = (b + c) - d + (e / f)

If A > 0 Then

Me.Te_DifferenceCartoValeur = A
Me.Te_DifferenceCartoValeur.Visible = True
Me.Te_DifferenceCartoChevreuil.Visible = True
Select Case Te_SousMassif
Case Is = 1
Me.Te_DifferenceCartoChevreuil = A / Val(Te_PointMassif1)
Case Is = 2
Me.Te_DifferenceCartoChevreuil = A / Val(Te_pointMassif2)
Case Is = 3
Me.Te_DifferenceCartoChevreuil = A / Val(Te_PointMassif3)
Case Is = 4
Me.Te_DifferenceCartoChevreuil = A / Val(Te_pointmassif4)
Case Is = ""
Me.Te_DifferenceCartoChevreuil = A / Val(Te_valchgeneral)

End Select

Else
Me.Te_DifferenceCartoValeur.Visible = False
Me.Te_DifferenceCartoChevreuil.Visible = False
End If

Me.Te_DifferenceCartoChevreuil.Value =
Format(Te_DifferenceCartoChevreuil.Value, "##0.0;;0")
Me.Te_DifferenceCartoValeur.Value = Format(Te_DifferenceCartoValeur.Value,
"##0.0;;0")


End Sub

merci pour votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #21560171
Bonjour.
Par principe, j'utiise CBbl plutôt que Val qui nécessite sue le point
soit le symbole décimal. Sinon, sur quelle ligne exacte se situe
l'erreur ?
Daniel

Bonjour le forum,
Pouvez vous m'aider sur mon problème?
Mon code plante par une incompatibilité de type.
C'est le début de code qui ne va pas lors des règles de calcul. voici le code
:

Sub ValeurDifferenceCarto()

Dim A As Single
Dim b As Single
Dim c As Single
Dim e As Single
Dim f As Single
Dim d As Single

b = CDbl(Te_PointBois.Value)
c = CDbl(Te_PointPlaine.Value)
d = CDbl(Te_SurfCartoBois.Value)
e = CDbl(Te_SurfCartoPlaine.Value)
f = CDbl(Te_PointPlaineValeur.Value)

A = (b + c) - d + (e / f)

If A > 0 Then

Me.Te_DifferenceCartoValeur = A
Me.Te_DifferenceCartoValeur.Visible = True
Me.Te_DifferenceCartoChevreuil.Visible = True
Select Case Te_SousMassif
Case Is = 1
Me.Te_DifferenceCartoChevreuil = A / Val(Te_PointMassif1)
Case Is = 2
Me.Te_DifferenceCartoChevreuil = A / Val(Te_pointMassif2)
Case Is = 3
Me.Te_DifferenceCartoChevreuil = A / Val(Te_PointMassif3)
Case Is = 4
Me.Te_DifferenceCartoChevreuil = A / Val(Te_pointmassif4)
Case Is = ""
Me.Te_DifferenceCartoChevreuil = A / Val(Te_valchgeneral)

End Select

Else
Me.Te_DifferenceCartoValeur.Visible = False
Me.Te_DifferenceCartoChevreuil.Visible = False
End If

Me.Te_DifferenceCartoChevreuil.Value =
Format(Te_DifferenceCartoChevreuil.Value, "##0.0;;0")
Me.Te_DifferenceCartoValeur.Value = Format(Te_DifferenceCartoValeur.Value,
"##0.0;;0")


End Sub

merci pour votre aide
DOMINIQUE
Le #21560321
Bonjour Daniel,
Merci pour ton aide.
Ca plante tous l'userform et precise que userform.show en plantant.

En enlevant ce debut de code :


Dim A As Single
Dim b As Single
Dim c As Single
Dim e As Single
Dim f As Single
Dim d As Single

b = CDbl(Te_PointBois.Value)
c = CDbl(Te_PointPlaine.Value)
d = CDbl(Te_SurfCartoBois.Value)
e = CDbl(Te_SurfCartoPlaine.Value)
f = CDbl(Te_PointPlaineValeur.Value)

A = (b + c) - d + (e / f)





Cela fonctionne trés bien.

merci pour ton aide.



"Daniel.C" discussion : ecd#
Bonjour.
Par principe, j'utiise CBbl plutôt que Val qui nécessite sue le point soit
le symbole décimal. Sinon, sur quelle ligne exacte se situe l'erreur ?
Daniel

Bonjour le forum,
Pouvez vous m'aider sur mon problème?
Mon code plante par une incompatibilité de type.
C'est le début de code qui ne va pas lors des règles de calcul. voici le
code :

Sub ValeurDifferenceCarto()

Dim A As Single
Dim b As Single
Dim c As Single
Dim e As Single
Dim f As Single
Dim d As Single

b = CDbl(Te_PointBois.Value)
c = CDbl(Te_PointPlaine.Value)
d = CDbl(Te_SurfCartoBois.Value)
e = CDbl(Te_SurfCartoPlaine.Value)
f = CDbl(Te_PointPlaineValeur.Value)

A = (b + c) - d + (e / f)

If A > 0 Then

Me.Te_DifferenceCartoValeur = A
Me.Te_DifferenceCartoValeur.Visible = True
Me.Te_DifferenceCartoChevreuil.Visible = True
Select Case Te_SousMassif
Case Is = 1
Me.Te_DifferenceCartoChevreuil = A / Val(Te_PointMassif1)
Case Is = 2
Me.Te_DifferenceCartoChevreuil = A / Val(Te_pointMassif2)
Case Is = 3
Me.Te_DifferenceCartoChevreuil = A / Val(Te_PointMassif3)
Case Is = 4
Me.Te_DifferenceCartoChevreuil = A / Val(Te_pointmassif4)
Case Is = ""
Me.Te_DifferenceCartoChevreuil = A / Val(Te_valchgeneral)

End Select

Else
Me.Te_DifferenceCartoValeur.Visible = False
Me.Te_DifferenceCartoChevreuil.Visible = False
End If

Me.Te_DifferenceCartoChevreuil.Value =
Format(Te_DifferenceCartoChevreuil.Value, "##0.0;;0")
Me.Te_DifferenceCartoValeur.Value =
Format(Te_DifferenceCartoValeur.Value, "##0.0;;0")


End Sub

merci pour votre aide





Daniel.C
Le #21560281
Mets ton curseur dans la macro et appuie sur la touche F8 pour une
exécution ligne à ligne. Tu vas trouver la ligne en erreur. Retranscris
ici exactement ici le message d'erreur.
Daniel

Bonjour Daniel,
Merci pour ton aide.
Ca plante tous l'userform et precise que userform.show en plantant.

En enlevant ce debut de code :


Dim A As Single
Dim b As Single
Dim c As Single
Dim e As Single
Dim f As Single
Dim d As Single

b = CDbl(Te_PointBois.Value)
c = CDbl(Te_PointPlaine.Value)
d = CDbl(Te_SurfCartoBois.Value)
e = CDbl(Te_SurfCartoPlaine.Value)
f = CDbl(Te_PointPlaineValeur.Value)

A = (b + c) - d + (e / f)





Cela fonctionne trés bien.

merci pour ton aide.



"Daniel.C" discussion : ecd#
Bonjour.
Par principe, j'utiise CBbl plutôt que Val qui nécessite sue le point soit
le symbole décimal. Sinon, sur quelle ligne exacte se situe l'erreur ?
Daniel

Bonjour le forum,
Pouvez vous m'aider sur mon problème?
Mon code plante par une incompatibilité de type.
C'est le début de code qui ne va pas lors des règles de calcul. voici le
code :

Sub ValeurDifferenceCarto()

Dim A As Single
Dim b As Single
Dim c As Single
Dim e As Single
Dim f As Single
Dim d As Single

b = CDbl(Te_PointBois.Value)
c = CDbl(Te_PointPlaine.Value)
d = CDbl(Te_SurfCartoBois.Value)
e = CDbl(Te_SurfCartoPlaine.Value)
f = CDbl(Te_PointPlaineValeur.Value)

A = (b + c) - d + (e / f)

If A > 0 Then

Me.Te_DifferenceCartoValeur = A
Me.Te_DifferenceCartoValeur.Visible = True
Me.Te_DifferenceCartoChevreuil.Visible = True
Select Case Te_SousMassif
Case Is = 1
Me.Te_DifferenceCartoChevreuil = A / Val(Te_PointMassif1)
Case Is = 2
Me.Te_DifferenceCartoChevreuil = A / Val(Te_pointMassif2)
Case Is = 3
Me.Te_DifferenceCartoChevreuil = A / Val(Te_PointMassif3)
Case Is = 4
Me.Te_DifferenceCartoChevreuil = A / Val(Te_pointmassif4)
Case Is = ""
Me.Te_DifferenceCartoChevreuil = A / Val(Te_valchgeneral)

End Select

Else
Me.Te_DifferenceCartoValeur.Visible = False
Me.Te_DifferenceCartoChevreuil.Visible = False
End If

Me.Te_DifferenceCartoChevreuil.Value =
Format(Te_DifferenceCartoChevreuil.Value, "##0.0;;0")
Me.Te_DifferenceCartoValeur.Value = Format(Te_DifferenceCartoValeur.Value,
"##0.0;;0")


End Sub

merci pour votre aide





DOMINIQUE
Le #21560271
J'ai trouvé, dans un code parralelle, le format nétait pas le meme.
je vous remercie pour votre aide


"DOMINIQUE" discussion : #
Bonjour Daniel,
Merci pour ton aide.
Ca plante tous l'userform et precise que userform.show en plantant.

En enlevant ce debut de code :


Dim A As Single
Dim b As Single
Dim c As Single
Dim e As Single
Dim f As Single
Dim d As Single

b = CDbl(Te_PointBois.Value)
c = CDbl(Te_PointPlaine.Value)
d = CDbl(Te_SurfCartoBois.Value)
e = CDbl(Te_SurfCartoPlaine.Value)
f = CDbl(Te_PointPlaineValeur.Value)

A = (b + c) - d + (e / f)





Cela fonctionne trés bien.

merci pour ton aide.



"Daniel.C" discussion : ecd#
Bonjour.
Par principe, j'utiise CBbl plutôt que Val qui nécessite sue le point
soit le symbole décimal. Sinon, sur quelle ligne exacte se situe l'erreur
?
Daniel

Bonjour le forum,
Pouvez vous m'aider sur mon problème?
Mon code plante par une incompatibilité de type.
C'est le début de code qui ne va pas lors des règles de calcul. voici le
code :

Sub ValeurDifferenceCarto()

Dim A As Single
Dim b As Single
Dim c As Single
Dim e As Single
Dim f As Single
Dim d As Single

b = CDbl(Te_PointBois.Value)
c = CDbl(Te_PointPlaine.Value)
d = CDbl(Te_SurfCartoBois.Value)
e = CDbl(Te_SurfCartoPlaine.Value)
f = CDbl(Te_PointPlaineValeur.Value)

A = (b + c) - d + (e / f)

If A > 0 Then

Me.Te_DifferenceCartoValeur = A
Me.Te_DifferenceCartoValeur.Visible = True
Me.Te_DifferenceCartoChevreuil.Visible = True
Select Case Te_SousMassif
Case Is = 1
Me.Te_DifferenceCartoChevreuil = A / Val(Te_PointMassif1)
Case Is = 2
Me.Te_DifferenceCartoChevreuil = A / Val(Te_pointMassif2)
Case Is = 3
Me.Te_DifferenceCartoChevreuil = A / Val(Te_PointMassif3)
Case Is = 4
Me.Te_DifferenceCartoChevreuil = A / Val(Te_pointmassif4)
Case Is = ""
Me.Te_DifferenceCartoChevreuil = A / Val(Te_valchgeneral)

End Select

Else
Me.Te_DifferenceCartoValeur.Visible = False
Me.Te_DifferenceCartoChevreuil.Visible = False
End If

Me.Te_DifferenceCartoChevreuil.Value =
Format(Te_DifferenceCartoChevreuil.Value, "##0.0;;0")
Me.Te_DifferenceCartoValeur.Value =
Format(Te_DifferenceCartoValeur.Value, "##0.0;;0")


End Sub

merci pour votre aide








Publicité
Poster une réponse
Anonyme