Bonjour à tous,
Svp, j’ai besoin d’aide en vba (je suis novice).
Mon problème est que ma boucle ne fait pas tous les enregistrements, je dois modifier chaque ligne saisie du sous formulaire dans ma table produits, le pb c’est qu’il modifie d’une ligne : formulaire :commande2 ; sous formulaire : DetCdeSForm ; voilà ma le code que j’ai mis :

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
Option Compare Database
Dim rs As DAO.Recordset
Dim n As Integer
Private Sub Commande21_Click()
 
With Forms("commandes2").Controls("DetCdeSform").Form.RecordsetClone
  .MoveLast
  Debug.Print .RecordCount
  n = .RecordCount
 
End With
    Set rs = CurrentDb.OpenRecordset("Produits", dbOpenDynaset)
    Do While i < n
 
    rs.FindFirst "[Réf Produit] = " & Me!DetCdeSform![Réf Produit].Value
    rs.Edit
    rs("stock") = rs("stock") - Me!DetCdeSform!Quantité.Value
      rs.Update
       i = i + 1
 
 Loop
 
End Sub
Merci bcp