Formulaire de saisie - Ajout à une base

Bonsoir,

Je rencontre un souci dans le formulaire de saisie (ci-joint), je pense que j'ai loupé un truc pour l'insertion automatique des lignes dans la base après saisie. En effet, l'ajout dans la base se fait toujours sur la même ligne en effaçant les précédentes. Avez-vous une astuce ?

J'en profite également pour vous demander si il est possible que les nouvelles saisies aient toutes la même mise en forme (format date et format monétaire) ? Je n'y arrive pas...

Merci pour vos retours.

Bonne soirée.

bonjour,

Je vais te donner une méthode qui est moins mauvaise que la tienne.

Bon je te dis pas que c'est le must hein... Bien au contraire, mais pour un début c'est une méthde que tu peux comprendre :

Private Sub BtnAjout_Click()
Dim i
i = Range("Tableau1").Rows.Count + 6    '4 lignes qui ne servent à rien + 1 pour les en-têtes + 1 pour la première ligne vide = 6
Cells(i, 1) = CboImmat.Value
'("source").Activate 'inutile elle est déjà active !
Cells(i, 2) = TxtDate
Cells(i, 3) = TxtNombredeLitres
Cells(i, 4) = TxtKilometrage
Cells(i, 5) = TxtMontantHT
Cells(i, 6) = TxtFacture
Cells(i, 7) = TxtObservations

MsgBox "Saisie validée", vbOKOnly + vbInformation, "CONFIRMATION"

End Sub

Nota :

Dans cette situation le format de la première ligne se propage automatiquement aux lignes suivantes.

Les TextBox ne contiennent que du Texte. Les données que tu transfères de cette manière ont de fortes chances de n'être pas reconnu comme des nombres si l'on n'y prend pas garde... mais cela est une autre question !

A+

Salut,

Tu peux t'affranchir des noms de contrôle en passant par le TypeName

Private Sub BtnEffacer_Click()
    ' // On s'affranchie des nom de contrôle
    Dim Ele As Control
    For Each Ele In Me.Controls
        Select Case TypeName(Ele)
            Case "TextBox"
                Ele.Value = vbNullString

            Case "ComboBox"
                Ele.ListIndex = -1

        End Select
    Next
End Sub

Toujours d'actualité la petit fonction de Pierre Fauconnier elle te simplifiera la vie en ayant un tableau structuré bien entendu.

'***********************************
'Procédure permettant d'ajouter un nouvel enregistrement
'dans la base de données
'***********************************

Private Sub BtnAjout_Click()
    xlTools.TS_AddRow "t_Datas", VBA.Array("ID", Increment, "Immatriculation", CboImmat, "Date de recomplètement", TxtDate, _
                                           "Nombre de litres", xlTools.StringToDouble(TxtNombredeLitres), "Kilomètrage", xlTools.StringToDouble(TxtKilometrage), _
                                           "Montant HT", xlTools.StringToDouble(TxtMontantHT), _
                                           "Facture", TxtFacture, "Observation", TxtObservations)
End Sub

Plus quelques modifs...

Bonsoir,

une autre approche qui m'est plus abordable :

J'ai renommé les TXTbox afin de pouvoir intégrer une boucle. Commentaires sur les lignes de code.

@ bientôt

LouReeD

Bonjour à vous,

Super merci pour vos retours, je pense que je vais réussir à m'en sortir. Je ne maîtrise pas tout encore, vos retours sont d'une grande aide !

Merci encore.

Bonne journée.

Bonsoir,

Pas de soucis ! Merci de vos remerciements ! Et revenez quand vous voulez !

@ bientôt

LouReeD

Salut,

Super merci pour vos retours, je pense que je vais réussir à m'en sortir. Je ne maîtrise pas tout encore, vos retours sont d'une grande aide !

Bonne prog.

Rechercher des sujets similaires à "formulaire saisie ajout base"