Enregistrement des données dans tableau

Bonjour à tous,

J'ai une fiche sur feuil excel qui me permet d'avoir un suivi sur des articles.

Lorsque je fais enregistrer, cette fiche s'enregistre sur une autre feuil suivant un numéro de lot qui fait office de base de donné.

Quelqu'un pourrait-il m'aider à améliorer cette formule, qui permettrai d'éviter de taper plusieurs ligne de calcule?

Private Sub CommandButton1_Click()

'Enregistrer le formulaire sur une feuille différente avec condition, le 29/02/2020 par Guillaume

'Modifier les données du formulaire qui comporte le même numéro

Dim ligne As Long

Dim Cel As Range

With Sheets("sauvegarde")

Set Cel = .Columns("A").Find(What:=Worksheets("controle").Range("J5"), LookIn:=xlValues, LookAt:=xlWhole)

If Not Cel Is Nothing Then

L = Cel.Row

Sheets("sauvegarde").Range("B" & L).Value = Worksheets("controle").Range("E7").Value

Sheets("sauvegarde").Range("C" & L).Value = Worksheets("controle").Range("I7").Value

Sheets("sauvegarde").Range("D" & L).Value = Worksheets("controle").Range("B11").Value

Sheets("sauvegarde").Range("E" & L).Value = Worksheets("controle").Range("C11").Value

Sheets("sauvegarde").Range("F" & L).Value = Worksheets("controle").Range("D11").Value

Sheets("sauvegarde").Range("G" & L).Value = Worksheets("controle").Range("E11").Value

Sheets("sauvegarde").Range("H" & L).Value = Worksheets("controle").Range("F11").Value

Sheets("sauvegarde").Range("I" & L).Value = Worksheets("controle").Range("H11").Value

End If

End With

End Sub

8essai.xlsm (41.04 Ko)

Salut Guithou51,

un essai

Private Sub CommandButton1_Click()
'Enregistrer le formulaire sur une feuille différente avec condition, le 29/02/2020 par Guillaume

'Modifier les données du formulaire qui comporte le même numéro
Dim ligne As Long
Dim Cel As Range
Dim ws As Worksheet

Set ws = Worksheets("controle")
    With Sheets("sauvegarde")
    Set Cel = .Columns("A").Find(What:=Worksheets("controle").Range("J5"), LookIn:=xlValues, LookAt:=xlWhole)
        If Not Cel Is Nothing Then
            L = Cel.Row
            .Range("B" & L) = ws.Range("E7")
            .Range("C" & L) = ws.Range("I7")
            .Range("D" & L & ":H" & L) = ws.Range("B11:F11").Value
            .Range("I" & L) = ws.Range("H11")
        End If
    End With
End Sub

@++

Bonjour m3ellem1,

Merci pour ton message.

Ta formule fonctionne, mais seulement pour la 1ére ligne du tableau "contrôle".

Ce que je souhaite, c'est que lorsque je remplie ou modifie les lignes du tableau contrôle que les valeurs s'enregistre sur la feuil sauvegarde.

je comprend plus rien

je laisse la main aux autres collègues!

Bonne journée

Lorsque que je complète mon tableau ça enregistre que la 1ere ligne. et je souhaiterai que ça enregistre toutes les lignes.

Quelqu'un pourrait-il me venir en aide svp

Rechercher des sujets similaires à "enregistrement donnees tableau"