1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
| Private Sub Ocass_AfterUpdate()
'Déclaration des variables
Dim Code_produit As String
Dim nb_lignes As Integer
Dim prix_entretien As Integer
Dim total_jour As Integer
Dim total_encaissé As Integer
Dim Prix_Vente_Officiel As Integer
Dim Prix_Achat As Integer
Dim choix_etat As String
Dim Rabais As Integer
Dim prix_loc_saison As Integer
Dim prix_final_max As Integer
Dim Année As Date 'Nouvelle variable pour stocker l'année
Dim Age As Integer 'Nouvelle variable pour stocker l'âge du ski
Dim num_client As Long
Dim somme_prix_unitaire As Integer
Dim CA_à_réaliser As Integer
Dim Genre As String
' Récupération du code produit à partir du formulaire
Code_produit = Me.Code_produit.Value
' Récupération du genre
Genre = Me.Genre.Value
' Sélection de l'état du produit
choix_etat = Me.Ocass.Value
' Récupération de l'année de la requête
Année = DLookup("Année", "R_Analyse_jours_de_ski", "code_produit = '" & Code_produit & "'")
' Calcul de l'âge du ski en années
Age = Year(Date) - Year(Année)
'Récupération du numéro client
num_client = Me.Parent.N°_Client.Value
' Calcul du prix d'entretien
nb_lignes = DCount("*", "R_Analyse_jours_de_ski", "code_produit = '" & Code_produit & "'")
'MsgBox somme_prix_unitaire
If Genre = "Ski - Ski Set" Then
prix_entretien = (nb_lignes) * 10
ElseIf Genre = "Ski - Chaussure" Then
prix_entretien = (nb_lignes) * 5
End If
' Récupération de la valeur SommeDePrix unitaire pour le N°_Client et le code_produit donnés
DoCmd.OpenForm "F_Analyse_jours_de_ski_par_client_groupe", acFormDS, , "[code_produit] = '" & Code_produit & "'"
somme_prix_unitaire = DLookup("SommeDePrix unitaire", "R_analyse_jours_de_ski_par_client_groupe", "[code_produit]='" & Code_produit & "' AND [client]='" & num_client & "'")
' Calcul du total de jours de ski
total_jour = DSum("[Jours de ski]", "R_Analyse_jours_de_ski", "[code_produit] = '" & Code_produit & "'")
' Calcul du total déjà payé
total_encaissé = DSum("[Prix unitaire]", "R_Analyse_jours_de_ski - 180 jours détail", "[code_produit] = '" & Code_produit & "'") * 0.8
' Récupération du prix de vente
Prix_Vente_Officiel = DLookup("Prix_vente", "R_Analyse_jours_de_ski", "code_produit = '" & Code_produit & "'")
' Récupération du prix d'achat
Prix_Achat = DLookup("[Prix d'achat]", "R_Analyse_jours_de_ski", "[code_produit] = '" & Code_produit & "'")
' Calcul Valeur matos calculé
CA_à_réaliser = (Prix_Achat + prix_entretien) * 2.5
' Calcul du prix de rabais en fonction de l'état du produit
Select Case choix_etat
Case "Neuf"
Rabais = total_jour * 0.2 + (Age * 5)
Case "Usagé"
Rabais = total_jour * 0.4 + (Age * 5)
Case "Vieux"
Rabais = (total_jour * 0.8) + (Age * 5)
End Select
'prix_final_mini = CA_à_réaliser - total_encaissé
prix_final_max = Prix_Vente_Officiel * ((100 - Rabais) / 100)
prix_loc_saison = DLookup("Prix_location", "R_Prix_Loc_Saison", "code_produit = '" & Code_produit & "'")
' Affichage des informations dans un message box
MsgBox "Code produit : " & Code_produit & vbNewLine & _
"Genre : " & Genre & vbNewLine & _
"Age : " & Age & " ans" & vbNewLine & _
"État du produit : " & choix_etat & vbNewLine & _
"Total de jours de ski : " & total_jour & vbNewLine & _
"Nombre de service : " & nb_lignes & vbNewLine & _
"Rabais : " & Rabais & " %" & vbNewLine & vbNewLine & _
"Prix d'achat : " & Prix_Achat & " CHF" & vbNewLine & _
"Prix d'entretien : " & prix_entretien & " CHF" & vbNewLine & _
"Prix de vente officiel: " & Prix_Vente_Officiel & " CHF" & vbNewLine & _
"Valeur mini à atteindre: " & CA_à_réaliser & " CHF" & vbNewLine & _
"Déjà encaissé -20% : " & total_encaissé & " CHF" & vbNewLine & vbNewLine & _
"Prix Final Max : " & prix_final_max & " CHF" & vbNewLine & _
"Prix location saison : " & prix_loc_saison & " CHF"
End Sub |
Partager