Private Sub CommandButton1_Click()
Dim I As Byte, j As Byte
Dim N As Integer
Dim Derligne As Integer
Dim reponse As Boolean
' Voici ma suggestion:
' J'ai créé une routine que l'on appelle fonction. La différence entre une Sub et Une Function,
' C'est que tu peux retourner une réponse. C'est le but pricipale d'une Function
' Je me suis servi de ton principe avec la variable ' reponse ' pour connaitre si toutes les cases
' On été conplèté.
' Donc selon chacun des if suivant:
If OptionButton1 Then
' Deux choses se passe ici: je fais appel a la Routine Fontion BoutonOption en lui passant un paramètre
' Le paramètre c'est quoi ? C'est le nombre de Textbox que la routine doit vérifier pour ce If
' La deuxième chose qui se passe, après le traitement ds la Funtion BoutonOption, si la valeur de retour
' est TRUE, alors le traitement ds le If s'effectue
If BoutonOption(1) = True Then
N = worksheets('feuil2').Range('a65536').End(xlUp).Row + 1
worksheets('feuil2').Range('a' & N).Value = TextBox1.Value
Unload UserForm2
End If
End If
If OptionButton2 Then
If BoutonOption(1) = True Then
N = worksheets('feuil2').Range('a65536').End(xlUp).Row + 1
worksheets('feuil2').Range('a' & N).Value = TextBox1.Value
Unload UserForm2
End If
End If
If OptionButton3 Then
If BoutonOption(4) = True Then
N = worksheets('feuil4').Range('a65536').End(xlUp).Row + 1
worksheets('feuil4').Range('a' & N).Value = TextBox1.Value
worksheets('feuil4').Range('c' & N).Value = TextBox2.Value
worksheets('feuil4').Range('d' & N).Value = TextBox6.Value
worksheets('feuil4').Range('e' & N).Value = TextBox3.Value
worksheets('feuil4').Range('b' & N).Value = TextBox4.Value
worksheets('feuil4').Range('f' & N) = 'France'
Unload UserForm2
End If
End If
If OptionButton4 Then
If BoutonOption(5) = True Then
N = worksheets('feuil5').Range('a65536').End(xlUp).Row + 1
worksheets('feuil5').Range('a' & N).Value = TextBox1.Value
worksheets('feuil5').Range('c' & N).Value = TextBox2.Value
worksheets('feuil5').Range('d' & N).Value = TextBox6.Value
worksheets('feuil5').Range('e' & N).Value = TextBox3.Value
worksheets('feuil5').Range('b' & N).Value = TextBox4.Value
worksheets('feuil5').Range('f' & N).Value = TextBox5.Value
Unload UserForm2
End If
End If
End Sub
*******************************************************************************
Private Function BoutonOption(intConteur As Integer) As Boolean ' Ici je spécifie le type de la variable passé en argument et je spécifie le type de valeur de retour
Dim j As Integer
' Ici, tu va voir, si tu nomme tes Texboxs avec le même nom que l'intitulé du label de ce même
' Textbox, tu pourra avoir une réponse très précise sur le message du MSGBOX
For j = 1 To intConteur
With Controls('Textbox' & j)
If .Value = '' Then
.SetFocus
msgbox 'Veuillez compléter tous le champs de !' & .Name, vbCritical, 'Microsoft excel'
Else
If msgbox('Vous allez ajouter ' & .Value & ' au champ ' & .Name & ' Vous confirmez ?', vbYesNo, 'Microsoft Excel') = vbNo Then
BoutonOption = False
End If
End If
End With
Next j
End Function
*******************************************************************************