Vba

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. bonjour,

    Quel est le problème exactement?

    A+
    0
    1. 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
      1. 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