Remplissage auto BDD depuis formulaire en décalant à ligne vide

Résolu/Fermé
Amande42 Messages postés 25 Date d'inscription vendredi 13 novembre 2015 Statut Membre Dernière intervention 7 août 2019 - 18 nov. 2015 à 15:37
Amande42 Messages postés 25 Date d'inscription vendredi 13 novembre 2015 Statut Membre Dernière intervention 7 août 2019 - 19 nov. 2015 à 09:39
Bonjour à tous,

Nouvelle question (et sûrement pas la dernière :-(...)

J'ai créé un formulaire avec au total 7 textbox et 1 combobox, et 2 boutons (Annuler et Enregistrer).
La commande Enregistrer doit normalement enregistrer mes données dans la BDD (format 1 ligne en-tête puis reste de lignes vides) à la suite des dernières saisies (donc recherche de la dernière ligne non vide) et fermer la boîte de dialogue formulaire.
Or, en faisant des tests, mes colonnes se remplissent correctement mais je me rends compte que ça ne décale pas d'une ligne vers le bas à chaque nouvel enregistrement et donc, mes précédentes informations sont supprimées.

Voici le code que j'ai tapé.

Private Sub CmdValiderSaisie_Click()
Dim L As Integer
If IsError(Sheets("Feuille test").Range("A1").End(xlUp).Row) Then
L = 2
Else
L = Sheets("Feuille test").Range("A1").End(xlUp).Row + 1
End If
Range("A" & L).Value = TxtNomMission
Range("B" & L).Value = TxtScopeMission
Range("C" & L).Value = TxtAnnéeMission
Range("D" & L).Value = TxtDomaineMission
Range("E" & L).Value = TxtEntitéMission
Range("H" & L).Value = TxtNbReco
Range("I" & L).Value = TxtNbRecoPrio
Range("J" & L).Value = TxtNbRecoCompl
Unload UsfInfoGMission
End Sub

Autre question : pour l'instant, mon bouton qui ouvre mon formulaire se trouve sur la "Feuille test" car si je le mets ailleurs, ça m'enregistre les données dans la feuille où se trouve mon bouton. Comment je peux faire pour dissocier les deux ?

D'avance un énorme merci pour votre aide.

Amande42
A voir également:

1 réponse

Bonjour
Voila un début
Private Sub CmdValiderSaisie_Click()
   With Sheets("Feuille test")
      L = .Range("A" & Rows.Count).End(xlUp).Row + 1
      .Range("A" & L).Value = TxtNomMission
      .Range("B" & L).Value = TxtScopeMission
      .Range("C" & L).Value = TxtAnnéeMission
      .Range("D" & L).Value = TxtDomaineMission
      .Range("E" & L).Value = TxtEntitéMission
      .Range("H" & L).Value = TxtNbReco
      .Range("I" & L).Value = TxtNbRecoPrio
      .Range("J" & L).Value = TxtNbRecoCompl
   End With
Unload Me
End Sub

A+
Maurice
0
Amande42 Messages postés 25 Date d'inscription vendredi 13 novembre 2015 Statut Membre Dernière intervention 7 août 2019
19 nov. 2015 à 09:39
Super ça marche !
Merci Maurice :-)
Je vais pouvoir avancer.
Bonne journée
0