culture [VBA] Appel a une fonction (cours Terminale)

Statut
La discussion n'est pas ouverte à d'autres réponses

Roooh

Membre
Salut a tous,

je dois faire un appel a la fonction Prime, mais j'ai essayé plusieurs trucs mais je n'y arrive pas

Code:
Option Compare Database
Sub Prime_assiduitéclick()
Dim Nomsal, Autre As String
Dim Anc, Nbjabs As Long
Dim base, Brut, Prime As Single

Do
    Nomsal = InputBox("Nom du salarié ?")
    base = InputBox("Salaire de base?")
    Anc = InputBox("Nombre d'années d'ancienneté?")
    Nbjabs = InputBox("Nombre de jours d'absence depuis 6 mois ?")
Brut = base + Prime()
    
    MsgBox ("Pour le salarié " & Nomsal & " Salaire brut de " & Brut)
    Autre = MsgBox("Autre salarié ?", vbYesNo)
Loop Until Autre = vbNo
                          
End Sub

Function Prime()
    If Anc > 3 Then
                If Nbjabs < 8 Then
                                    Prime = base * 1.03
                              Else: Brut = base
                End If
            Else: Brut = base
    End If
End Function

Si vous pourriez m'éclairer, ça serait sympa.



EDIT : J'ai trouvé :)

Code:
Option Compare Database
Sub Prime_assiduitéclick()
Dim Nomsal, Autre As String
Dim Anc, Nbjabs As Long
Dim Base, Brut As Single
Do
    Nomsal = InputBox("Nom du salarié ?")
    Base = InputBox("Salaire de base?")
    Anc = InputBox("Nombre d'années d'ancienneté?")
    Nbjabs = InputBox("Nombre de jours d'absence depuis 6 mois ?")
    
Brut = Base + Prime(Base, Brut, Anc, Nbjabs)
    MsgBox ("Pour le salarié " & Nomsal & " Salaire brut de " & Brut)
    Autre = MsgBox("Autre salarié ?", vbYesNo)
Loop Until Autre = vbNo
                          
End Sub
Function Prime(Base, Brut, Anc, Nbjabs)
Dim P As Double
    If Anc > 3 Then
                If Nbjabs < 8 Then
                                    Prime = Base * 0.03
                              Else: Prime = 0
                End If
            Else: Prime = 0
    End If
End Function
 
Dernière modification par un modérateur:
Statut
La discussion n'est pas ouverte à d'autres réponses
Retour
Haut