Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Private Sub UpStock_Click()
Dim Enr As DAO.Recordset
Dim strLink As String
Dim Cancel As Integer
    strLink = SauvegarderActualiser
        If Valider = "Non" Then
           If msgbox("Etes-vous sur de votre commande ?", vbQuestion + vbYesNo, "Mise à jour du stock") = vbYes Then
                Set Enr = CurrentDb.OpenRecordset("Détail du bordereau d'execution")
                    Do Until Enr.EOF = True
                        If Enr("N° Bordereau") = [N° Bordereau] Then
                        Enr.Edit
                            If Enr("NbRestant") = 0 Then
                                Enr("ACommander") = Enr("Quantité")
                            Else
                                If Enr("NbRestant") - Enr("Quantité") >= 0 Then
                                    Enr("ACommander") = 0
                                    Enr("NbRestant") = Enr("NbRestant") - Enr("Quantité")
                                Else
                                    Enr("ACommander") = Enr("Quantité") - Enr("NbRestant")
                                    'Pour éviter d'avoir un nombre négatif dans le stock
                                    Enr("NbRestant") = 0
                                End If
                            End If
                        Enr.Update
                        End If
                        Enr.MoveNext
                  Loop
                Enr.Close
                Valider = "Oui"
                strLink = SauvegarderActualiser
            Else
                Me.Undo
                Cancel = True
            End If
        Else
            msgbox "Vous ne pouvez mettre à jour le stock qu'une seule fois !"
        End If
End Sub
Voilà, c'est résolu, enfin, j'avais mal placé mon "END IF", du coup à chaque fois que j'appliquais cette formule, access se plantais. Merci à ceux qui m'ont donné un ptit coup de main.