Private Sub cmdvalider_Click()
Dim numlignevide As Integer[COLOR=red], Feuille As Worksheet ' Je déclare une variable[/COLOR]
[COLOR=red]' feuille qui m'évitera les Activate[/COLOR]
[COLOR=red]' On commence par vérifier les champs manquants (il en manque...)[/COLOR]
If txtcarburant.Text = "" Then
MsgBox "Veuillez choisir votre carburant s'il vous plait", vbExclamation, " ---> CHAMP MANQUANT <--- "
txtcarburant.SetFocus
[COLOR=red]Exit Sub ' On oublie pas de sortir de la Sub[/COLOR]
End If
If txtdate.Text = "" Then
MsgBox "Veuillez remplir le champ date s'il vous plait", vbExclamation, " ---> CHAMP MANQUANT <--- "
txtdate.SetFocus
[COLOR=red]Exit Sub ' On oublie pas de sortir de la Sub[/COLOR]
End If
'on verifie le champ select carburant pour choisir la feuil de sauvegarde
[COLOR=red]Select Case txtcarburant.Text ' Je préfère Select Case aux ElseIf[/COLOR]
[COLOR=red]Case "ESSENCE" ' Attention à ce que ton Combo soit limité à ces 3 valeurs[/COLOR]
[COLOR=#ff0000]' et dans la même casse[/COLOR]
[COLOR=red]Feuille = Sheets("essence")[/COLOR]
[COLOR=red]Case "GASOIL"[/COLOR]
[COLOR=red]Feuille = Sheets("gasoil")[/COLOR]
[COLOR=red]Case "GPL"[/COLOR]
[COLOR=red]Feuille = Sheets("GPL")[/COLOR]
[COLOR=red]End Select[/COLOR]
'on trouve la derniere ligne vide du tableau et on enregistre le numero de la ligne dans la variable numlignevide
numlignevide = Feuille.Columns(2).Find("").Row [COLOR=red]' Original, mais ça doit marcher[/COLOR]
'on remplit les données dans notre tableau
[COLOR=red]With Feuille ' Plus lisible[/COLOR]
.Cells(numlignevide, 2) = txtdate.Text
.Cells(numlignevide, 3) = UCase(txtstation.Text)
.Cells(numlignevide, 4) = txtlieu.Text
.Cells(numlignevide, 5) = txtkms.Text
.Cells(numlignevide, 7) = txtlitres.Text
.Cells(numlignevide, 10) = txtcout.Text
[COLOR=red]End With[/COLOR]
'on efface le formulaire et on replace le curseur sur le premier champs date
txtdate.Text = ""
txtstation.Text = ""
txtlieu.Text = ""
txtkms.Text = ""
txtlitres.Text = ""
txtcout.Text = ""
txtdate.SetFocus
End Sub