Private Sub categorie_Change()
Dim colonne&
Me.souscat = Clear
colonne = Me.categorie.ListIndex + 3
With Sheets("config")
souscat.List = .Range(.Cells(4, colonne), .Cells(Rows.Count, colonne).End(xlUp)).Value
End With
End Sub
Private Sub CommandButton1_Click() 'Enregistrement
Dim R
'**********************
'peut etre ici vérifier qu'il n'y a pas un textbox vide !!! :)
'***********************
With Sheets("cic_courant").ListObjects(1)
'controler si la base de donner est vide ou non - si pas vide ajout d'une ligne(la ligne rouge on la compte pas donc 2
If .ListRows.Count = 2 And .ListRows(2).Range.Cells(1) = "" Then
Set R = .ListRows(2).Range.Resize(, 7)
Else
.ListRows.Add
'on recup le range de la new listrowsque l'on resize a 7 car la 8 eme a la formule automatiquement incrémentée(tableau structuré)on ne la touche pas donc
Set R = .ListRows(.ListRows.Count).Range.Resize(, 7)
End If
End With
Debug.Print R.Address
'on peut faire comme ceci
'r(1) = CDate(Me.txtdate)
'r(2) = Me.libelle
'r(3) = Me.paiement
'r(4) = Val(Me.debit)
'r(5) = Val(Me.credit)
'r(6) = Me.categorie
'r(7) = Me.selctsouscat
'ou comme cela
R.Value = Array(CDate(Me.txtdate), Me.libelle, Me.paiement, Val(Replace(Me.debit, ",", ".")), _
Val(Replace(Me.credit, ",", ".")), Me.categorie, Me.selctsouscat)
Unload Me 'on ferme le userform
End Sub
Private Sub CREDIT_AfterUpdate(): Me.credit = Format(Replace(Me.credit, ".", ","), "currency"): End Sub
Private Sub debit_AfterUpdate(): Me.debit = Format(Replace(Me.debit, ".", ","), "currency"): End Sub
Private Sub souscat_Click(): Me.selctsouscat.Value = Me.souscat.Value: End Sub
Private Sub txtdate_AfterUpdate() 'on passe maintenant par le beforeupdate qui possede la propriété "cancel" au cas ou la date serait invalide
End Sub
Private Sub txtdate_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
With txtdate
If .Value <> "" Then
If Not IsDate(.Value) Then
Cancel = True: .SetFocus: .SelStart = 0: txtdate.SelLength = 10: Beep
MsgBox "date non valide"
Else
.Value = Format(CDate(.Value), "dd/mm/yyyy")
End If
End If
End With
End Sub