Bonsoir Julien, Jean-Eric,
sur ton formulaire, tu as les lignes de détail pour les produits ; pour chacune d'elles, le 1er champ est sans doute un code produit (quand tu le saisis, la désignation du produit et son prix unitaire sont écrits automatiquement).
ta macro actuelle contient sûrement une boucle pour lire chaque ligne de détail ; donc pour chaque ligne : tu commences par lire le 1er champ du code article ; ensuite, c'est seulement si ce code est non vide que tu copies ta ligne de détail ➯ y'a pas de ligne vide dans ta base de données des commandes !
ton tableau des lignes de commandes est sur le formulaire, mais comme tu n'as pas transmis de fichier, je vais faire comme s'il est sur une feuille de calcul, des lignes 2 à 20 ; ce sera à toi de transposer avec tes TextBox du formulaire ; le code VBA pour une feuille de calcul pourrait alors ressembler à ceci (les code article étant en colonne A) :
Dim code$, lig As Byte
For lig = 2 To 20
code = Cells(lig, 1)
If code <> "" Then
'ici, code pour copier une ligne de détail de la commande sur ta 2ème feuille (celle de ta base de données)
End If
Next lig
si une ligne de détail est vide, ça ne la copie pas (même si cette ligne vide est intercalée entre les autres, et pas seulement à la fin !)
si tu n'utilise pas de code article, alors utilise à la place le nom article (raisonnement identique ; suffit d'remplacer code par nom).
dhany