Erreur d'exécution ' 94 ' :

impredaj Messages postés 12 Date d'inscription dimanche 26 mars 2006 Statut Membre Dernière intervention 28 avril 2006 - 16 avril 2006 à 02:43
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 16 avril 2006 à 07:24
Salut,
j'utilise le code ci-dessous dans un contrôle de calcule :

Private Sub NombreF2_GotFocus()
Dim Possibilite1 As Integer, Possibilite2 As Integer
Possibilite1 = Round(LaGF2 / LaPF) * Round(LoGF2 / lopf)
Possibilite2 = Round(LaGF2 / lopf) * Round(LoGF2 / LaPF)
If Possibilite1 < Possibilite2 Then
NombreF2 = Possibilite1
Else
NombreF2 = Possibilite2
End If
End Sub

mais le message suivant :
erreur d'exécution ' 94 ' :
utilisation incorrecte de null
s'affiche lors d'un click sur le contrôle est que l'une des zone de texte (LaGF2, LaPF, LoGF2, lopf) est vide.
Que dois-je faire????????

Merci.

1 réponse

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
16 avril 2006 à 07:24
salut,
on calcule des VARIABLES, on affiche dans des CONTRÔLES....


Private Sub NombreF2_GotFocus()
' on calcule des VALEURS, pas des zones de texte !!
Dim LONLaGF2 As Long, LONLaPF As Long, LONLoGF2 As Long, LONlopf As Long
LONLaGF2 = Val(LaGF2.Text)
LONLaPF = Val(LaPF.Text)
LONLoGF2 = Val(LoGF2.Text)
LONlopf = Val(lopf.Text)

' à toi de voir ce que tu fais si ZéRO (division par zéro impossible !!) If LONLaGF2 0 Then LONLaGF2 1 If LONLaPF 0 Then LONLaPF 1 If LONLoGF2 0 Then LONLoGF2 1 If LONlopf 0 Then LONlopf 1

' calcul
Dim Possibilite1 As Long, Possibilite2 As Long
Possibilite1 = Round(LONLaGF2 / LONLaPF) * Round(LONLoGF2 / LONlopf)
Possibilite2 = Round(LONLaGF2 / LONlopf) * Round(LONLoGF2 / LONLaPF)

If Possibilite1 < Possibilite2 Then
NombreF2.Text = CStr(Possibilite1)
Else
NombreF2.Text = CStr(Possibilite2)
End If
End Sub


<small> Coloration
syntaxique automatique [AFCK]</small>


++
PCPT [AFCK]
0
Rejoignez-nous