Remplissage auto BDD depuis formulaire en décalant à ligne vide [Résolu/Fermé]

Signaler
Messages postés
25
Date d'inscription
vendredi 13 novembre 2015
Statut
Membre
Dernière intervention
7 août 2019
-
Amande42
Messages postés
25
Date d'inscription
vendredi 13 novembre 2015
Statut
Membre
Dernière intervention
7 août 2019
-
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

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
Amande42
Messages postés
25
Date d'inscription
vendredi 13 novembre 2015
Statut
Membre
Dernière intervention
7 août 2019

Super ça marche !
Merci Maurice :-)
Je vais pouvoir avancer.
Bonne journée