Easy-Micro

ESPACEMEMBRE Projet VBA
Saisie dynamique

Projet VBA

VBA Saisie du module du bouton Enregistrer

Procédure (à saisir dans le module GestionDeFrais) à appeler depuis la procédure du bouton enregistrer
Sub proc_stocker_les_données()

Range("A2").Value = frm_nouvelle_fiche_de_frais.cal_date.Value
Range("B2").Value = frm_nouvelle_fiche_de_frais.cbo_motif.Value
Range("C2").Value = CInt(frm_nouvelle_fiche_de_frais.txt_montant.Value)

End Sub
Un CInt est ici nécessaire pour éviter les erreurs de nombre stocké sous forme de texte (voir objet Form)

Il faut récupérer la première ligne vide pour les autres saisies. Dans un premier temps, on remplace le numéro de la ligne par une variable.

Option Explicit
Dim var_premierelignevide As Integer

Sub proc_stocker_les_données()
var_premierelignevide = 2

Range("A" & var_premierelignevide).Value = frm_nouvelle_fiche_de_frais.cal_date.Value
Range("B" & var_premierelignevide).Value = frm_nouvelle_fiche_de_frais.cbo_motif.Value
Range("C" & var_premierelignevide).Value = CInt(frm_nouvelle_fiche_de_frais.txt_montant.Value)
End Sub
Un CInt est ici nécessaire pour éviter les erreurs de nombre stocké sous forme de texte (voir objet Form)

Calcul de la première ligne vide ( à rajouter en haut de la procédure ci-dessus, proc_stocker_les_données ) :
var_premierelignevide = 2

If Range("A2").Value <> "" Then
Range("A1").Select
Selection.End(xlDown).Select ' soit Ctrl + Flêche bas
var_premierelignevide = ActiveCell.Row + 1
End If

Autre technique: depuis le bas de la feuille
Dim int_premierelignevide As Integer

'Récupère le nombre de lignes d'Excel
Dim var_nombredeligne As Long 'Long pour Excel 2007 ou 2010
var_nombredeligne = Application.Rows.Count 'ou de la feuille active avec ActiveSheet.Rows.Count

'Sélectionne la dernière ligne
Rows(var_nombredeligne).Select
'Remonte sur la première ligne pleine
Selection.End(xlUp).Select ' soit Ctrl + Flêche haut

'initialisation de la bonne ligne
int_premierelignevide = ActiveCell.Row + 1

Range("A" & int_premierelignevide).Value = txt_nom.Value


< Page précédente PROJET VBA Page suivante >