Microsoft 365 Enregistrer les données d'un formulaire dans un tableau

PORCHER

XLDnaute Occasionnel
Bonjour,
J'ai deux feuilles(Compte1 et Compte2)
dans chaque feuille j'ai un tableau(Tableau1 et Tableau2) - Les Tableaux sont identiques
Dans mon formulaire(UserForm1) je rempli les textBoxs puis je clic sur le bouton Enregistrer.
Je cherche une macro qui sélectionne un tableau(Tableau1 ou Tableau2) afin d'enregistrer les données dans ce tableau.
Merci de m'aider
Très cordialement
 
Dernière édition:

PORCHER

XLDnaute Occasionnel
Exemple :
VB:
Private Sub Cmd_Enreg_Click()
Dim LR As ListRow
 'Vérification qu'aucune information n'a été ommise
    If Aucun_Oublis = "OUBLIS" Then
        Exit Sub
    End If

  [B][COLOR=rgb(226, 80, 65)]  With ActiveSheet.ListObjects(1) (Ici est le problème: choix tableau)[/COLOR][/B]
        Set LR = .ListRows.Add
        With LR.Range
    .Cells(1, 1).FormulaR1C1 = "=MAX(R[-1]C:R[-1]C)+1"
    .Cells(1, 2) = CDate(Tb_Date.value)
    .Cells(1, 3) = ComboBoxTiers.value
    .Cells(1, 4) = ComboBoxMode.value
    .Cells(1, 5) = ComboBoxGroupe.value
    .Cells(1, 6) = ComboBoxCateg.value
    If OPTdépense.value = True Then
            .Cells(1, 7) = "Dépense"
            .Cells(1, 9) = CCur(Format(Txt_Banq.value, "##,##0.00 €"))
            .Cells(1, 9).Font.ColorIndex = 3
        ElseIf OPTrevenu.value = True Then
            .Cells(1, 7) = "Recette"
            .Cells(1, 10) = CCur(Format(Txt_Banq.value, "##,##0.00 €"))
        End If
     If OP_bool_pointe.value = True Then
            .Cells(1, 8) = "þ"
            .Cells(1, 12) = OP_dat_pointe.value
        Else
            .Cells(1, 8) = "o"
            .Cells(1, 12) = ""
        End If
        .Cells(1, 11).FormulaR1C1 = "=R[-1]C+RC[-1]-RC[-2]"
        .Cells(1, 11).NumberFormatLocal = "# ##0,00 €;[Rouge]-# ##0,00 €]_-"
        'Tri sur la provenance
        .DataBodyRange.Sort key1:=.ListColumns("Date de l'Opération").DataBodyRange, Header:=xlYes, Order1:=xlAscending
     End With
  End With
    Set LR = Nothing
        Call MiseEnFormeFeuil
        Sheets("Balance").Cells(Lbl_ModNumLgn.Caption, 8) = CCur(Format(Txt_Banq.value, "##,##0.00 €"))
 
    MsgBox "vos données ont bien été enregistrées dans la base de données", vbOKOnly + vbInformation, "confirmation"
    Call Btn_Ajouter_Click
    
End Sub
 

ChTi160

XLDnaute Barbatruc
Bonsoir PORCHER
Je ne suis pas sur un mon pc mais si tu ajoutes un ComBobox qui aura pour liste le nom de tes tableaux cibles ainsi que le nom des feuilles qui contiennent les tableaux .tu pourras après avoir sélectionné un tableau récupéré ce nom dans une variable et ainsi cibler le bon tableau
Ex :
Dans Cmd_Enreg_Click()
Tu fais StrTab= Me.Combobox.list(Me.Combobox.ListIndex,0)'nom du tableau ou StrTab=Me.Combobox.Text
Puis : With Range(strTab).ListObject.DataBodyRange
Pas évident sans ordi mais l'idée est la lol
Jean marie
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa