Passer d'un formulaire à une liste

J'ai un formulaire que vous pouvez retrouver en pièce jointe.

Je voudrais récupérer les informations de ce formulaire et les ranger dans la deuxième feuille, dont les entêtes sont déjà renseignées (voir feuille numéro 2 "Liste"). De plus, je voudrais que cette liste se mette à jour à chaque fois que je rajoute un besoin, c'est a dire que le besoin n se mette automatiquement à la suite du besoin n-1.

Attention, il y a des cellules qui apparaissent dans la liste mais qui ne sont pas présentes dans le formulaire, c'est normal, je les rempli directement à la main. Comme par exemple ABY BBR et SBS.

J'espère avoir été concis des mes explications, c'est compliqué d'expliquer un problème à l'écrit

13test.xlsx (14.74 Ko)

Bonjour

est ce qu'on est obligé de garder l'ordre des colonne dans la feuille 2!!! ( pour facilité le travail)

merci

Justement oui, dans la liste 2 rien ne doit bouger, par contre dans le formulaire on peut changer.

Bonjour,
Une proposition à adapter, si besoin.
Cdlt.

17test-2.xlsm (24.51 Ko)
Public Sub CopyData()
Dim lo As ListObject, arrForm(13) As Variant, r As Range

    Set lo = Range("t_liste").ListObject

    With lo
        If .InsertRowRange Is Nothing Then
            Set r = .HeaderRowRange.Cells(1).Offset(.ListRows.Count + 1)
        Else
            Set r = .InsertRowRange.Cells(1)
        End If
    End With

    With Worksheets("Formulaire")
        arrForm(0) = .Cells(15, 9).Value
        arrForm(1) = .Cells(18, 9).Value
        arrForm(2) = .Cells(21, 9).Value
        arrForm(3) = .Cells(21, 12).Value
        arrForm(4) = .Cells(15, 12).Value
        arrForm(5) = .Cells(18, 12).Value
        arrForm(6) = .Cells(24, 9).Value
        arrForm(7) = ""
        arrForm(8) = ""
        arrForm(9) = ""
        arrForm(10) = ""
        arrForm(11) = ""
        arrForm(12) = .Cells(24, 12).Value
        arrForm(13) = .Cells(27, 9).Value
    End With

    r.Resize(, 14).Value = arrForm

    With Worksheets("Formulaire")
        .Cells(15, 9).Value = ""
        .Cells(18, 9).Value = ""
        .Cells(21, 9).Value = ""
        .Cells(21, 12).Value = ""
        .Cells(15, 12).Value = ""
        .Cells(18, 12).Value = ""
        .Cells(24, 9).Value = ""
        .Cells(24, 12).Value = ""
        .Cells(27, 9).Value = ""
    End With

End Sub

Merci beaucoup

Rechercher des sujets similaires à "passer formulaire liste"