Ajout d'une nouvelle ligne sans écraser lignes précédentes

Bonjour à tous !

Un petit message car je suis totalement débutanet en VBA et j'essaie d'alimenter une base de données (Data_Recettes) à partir de valeurs que l'on remplit dans une feuille (Fiche Technique Restauration) (Le fichier est en PJ)

L'objectif est qu'au clic sur le bouton en bas de la feuille Fiche Technique Restauration, la liste des ingrédients ainsi que leurs quantités soit transposées dans le tableau de la feuille Data_Recettes. A chaque nouveau clic, je souhaiterais donc ajouter une nouvelle ligne à mon tableau pour que la nouvelle recette vienne s'ajouter aux recettes déjà existantes de la BD.

J'ai tenté un petit code, avec l'aide de l'assistant de macros. J'arrive à transposer les données, mais dès qu'un nouvel enregistrement est lancé la nouvelle ligne de données vient écraser les valeurs des lignes précédentes ! Donc pas tout à fait ça

J'ai regardé les différentes questions posées sur le forum mais n'ai pas encore trouvé la solution,

Si quelqu'un peut me donner un petit coup de main sur ce sujet cela me serait d'une aide précieuse !

Un grand merci d'avance à vous !!

Bonjour,

à tester,

Sub test()
With Application.ThisWorkbook.Sheets("Data_Recettes")
     n = .Cells(Rows.Count, 1).End(xlUp).Row + 1
    .Rows(n).Insert
End With

x1 = Range("CréaTab[Article]").Address
x2 = Range(x1).Count
x3 = Range(Cells(n, 5), Cells(n, 5 + x2 - 2)).Address

Sheets("Data_Recettes").Range(x3).Value = Application.Transpose(Range("CréaTab[Article]").Value)
End Sub

Bonjour sabV, merci beaucoup, j'ai testé et ça marche c'est génial !

J'ai rajouté en plus deux lignes de code pour pouvoir aussi transposer les quantités d'ingrédients :

Sub test()

With Application.ThisWorkbook.Sheets("Data_Recettes")

n = .Cells(Rows.Count, 1).End(xlUp).Row + 1

.Rows(n).Insert

End With

x1 = Range("CréaTab[Article]").Address

x2 = Range(x1).Count

x3 = Range(Cells(n, 5), Cells(n, 5 + x2 - 2)).Address

x4 = Range(Cells(n, 15), Cells(n, 15 + x2 - 2)).Address

Sheets("Data_Recettes").Range(x3).Value = Application.Transpose(Range("CréaTab[Article]").Value)

Sheets("Data_Recettes").Range(x4).Value = Application.Transpose(Range("CréaTab[Unités nécessaires]").Value)

End Sub

Du coup au top, merci de ton aide !

Merci pour ce retour, au plaisir!

si le problème est résolu, s.v.p. pour clôturer le fil, cliquer sur le bouton V vert du post à coté du bouton EDITER, merci!

Rechercher des sujets similaires à "ajout nouvelle ligne ecraser lignes precedentes"