Private Sub CommandButton1_Click() 'bouton "Ajouter ce matériel à la base de donnée !"
Dim CTRL As Control 'déclare la variable CTRL (ConTRôLe)
Dim I As Byte 'déclare la variable I (Incrément)
Dim NM As Long 'déclare la variable NM (Numéro Max)
Dim PLV As Long 'déclare la v ariable PLV (Première Ligne Vide)
For Each CTRL In Me.Frame1.Controls 'boucle sur tous les contrôles de la Frame1
'condition1 : si le contrôle est une combobox ou une textbox
If TypeOf CTRL Is MSForms.ComboBox Or TypeOf CTRL Is MSForms.TextBox Then
If CTRL.Value = "" Then 'condition 2 : si le contrôle est vide
MsgBox "Vous devez renseigner le champ : " & Me.Frame1.Controls(I).Tag & " !" 'message
CTRL.SetFocus 'place le curseur dans le contrôle vide
Exit Sub 'sort de la procédure
End If 'fin de la condition 2
End If 'fin de la condition 1
Next CTRL 'prochain contrôle de la boucle
PLV = DL + 1 'définit la première ligne vide PLV
NM = Application.WorksheetFunction.Max(PL) + 1
O1.Cells(PLV, 1).Value = NM 'place le Numéro ID Art
O1.Cells(PLV, 2).Value = "'" & MarqueTxt.Value 'place la marque
O1.Cells(PLV, 3).Value = "'" & DesignationPceTxt.Value 'place la désignation
O1.Cells(PLV, 4).Value = "'" & DomaineCbx.Value 'place le domaine
O1.Cells(PLV, 5).Value = "'" & NoArtTxt.Value 'place le Numéro de l'article
O1.Cells(PLV, 6).Value = "'" & PrixUTTxt.Value 'place prix unitaire
Unload Me 'vide et ferme l'UserForm2
End Sub