Vba

timoboll Messages postés 23 Statut Membre -  
 Paf -
Bonjour,

je ne comprends pas ce qui cloche dans mon programme.

Sub prime()
Dim db As Database
Dim moniteur As Recordset
Dim prime As Integer
Dim nom As Integer
Dim totprime As Integer
Dim nbacc As Single
Dim reponse As Boolean
Set db = CurrentDb
Set moniteur = bd.OpenRecordset("select* from moniteur")
moniteur.MoveFirst
While moniteur.EOF = False

prime = 0

nom = InputBox("quel est le moniteur?")
nbacc = InputBox("quel est le nombre d'acccidents?")
reponse = InputBox("voulez vous continuer?")
totprime = totprime + prime

do
If nbacc = 0 Then
prime = 300
Else

If nbacc < 6 Then
prime = 150 - ((nbacc - 1) * 30)
Else

prime = 0

loop until prime=0

totprime = totprime + prime

MsgBox ("la prime de" & nom & "est de " & prime)

moniteur.MoveNext
Wend

moniteur.Close
bd.Close

End Sub

3 réponses

  1. Paf
     
    bonjour,

    Quel est le problème exactement?

    A+
    0
  2. timoboll Messages postés 23 Statut Membre
     
    jai fait des modifications et il me dit avant le fonction, end sub attendu, je ne sais pas si jai bien inséré la fonction...

    Option Compare Database

    Sub prime()
    Dim db As Database
    Dim moniteur As Recordset
    Dim prime As Integer
    Dim nom As Integer
    Dim totprime As Integer
    Dim reponse As Boolean
    Set db = CurrentDb
    Set moniteur = bd.OpenRecordset("select* from moniteur")
    moniteur.MoveFirst
    While moniteur.EOF = False

    prime = 0
    totprime = 0

    Function calculprime(nummoniteur As Single, nommoniteur As Integer, nbacc As Single, prime As Single) As Single

    If nbacc = 0 Then
    prime = 300
    Else

    If nbacc < 6 Then
    prime = 150 - ((nbacc - 1) * 30)
    Else

    prime = 0

    totprime = totprime + prime

    End Function

    moniteur.MoveNext

    moniteur.Close
    bd.Close

    End Sub
    0
  3. Paf
     
    Bonjour,

    On ne peut pas déclarer une fonction à l'intérieur d'une 'sub', il faut la définir à part et y faire appel dans la sub.

    par ailleurs :
    - une série de if ...then .... else sans end if
    - une boucle while sans wend

    Regarde un peu l'aide VBA

    Bonne journée
    0