Private Sub CommandButton1_Click() [COLOR="Red"]'Bouton Valider[/COLOR]
[COLOR="red"]'Déclaration des variables : As Byte nombre de 0 à 255, Double : nombre quelconque[/COLOR]
Dim orga As Byte, mois As Byte, v1 As Double, v2 As Double
[COLOR="red"]'La propriété ListIndex renvoie -1 si aucune valeur de la liste déroulante n'a été sélectionnée
'sinon renvoie le numéro de la ligne sélectionnée en commençant par 0[/COLOR]
orga = ComboBox2.ListIndex + 1
mois = ComboBox3.ListIndex + 1
[COLOR="red"]'Si la valeur est 0, la méthode DropDown affiche la liste déroulante, Exit Sub met fin à la macro[/COLOR]
If orga = 0 Then ComboBox2.DropDown: Exit Sub
If mois = 0 Then ComboBox3.DropDown: Exit Sub
[COLOR="red"]'La fonction Val renvoie toujours un nombre, exemples : Val("a")=0, Val("")=0, Val("2,5")=2, Val("2.5")=2.5[/COLOR]
v1 = Val(Replace(TextBox1, ",", ".")) [COLOR="red"]'la virgule est remplacée par le point pour obtenir un nombre en VBA[/COLOR]
v2 = Val(Replace(TextBox2, ",", "."))
[COLOR="red"]'Si la valeur est 0, TextBox1 = "" vide la TextBox1, la méthode SetFocus y place le curseur[/COLOR]
If v1 = 0 Then TextBox1 = "": TextBox1.SetFocus: Exit Sub
If v2 = 0 Then TextBox2 = "": TextBox2.SetFocus: Exit Sub
[COLOR="red"]'Offset décale la référence de la cellule B11 => vers le bas : numéro du mois, à droite : par pas de 2[/COLOR]
With Sheets("Emprunt").Range("B11").Offset(mois, 2 * (orga - 1))
.Value = v1 [COLOR="red"]'entre dans la cellule définie le capital remboursé[/COLOR]
.Offset(, 1) = v2 [COLOR="red"]'entre les intérêts remboursés dans la cellule à droite[/COLOR]
End With
Unload Me [COLOR="red"]'ferme l'USF (Me : c'est la feuille où se trouve le code)[/COLOR]
End Sub