I'd put a break on this line CurrentDb.Execute strSQL, dbFailOnError for each and mouse over the variables to see if they are as expected. Maybe this Me.Modifiable15 is text, in which case quotes are missing. If it is a name issue, that should indicate there's a problem there, but I think you can call a textbox Texte if you want - it's simply French for text. There are places where English must be used, but I don't think this is one of them.
Maybe this is a two column combo Me.Modifiable15.Column(2) which would mean he's probably trying to use a Null for produitNom. Again, the break should help if one knows what to look for.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.