Macro création lignes de données

Bonjour,

Je cherche à écrire une macro permettant, à partir d'une base de données composée d'enregistrements à multiples informations, de créer de nouvelles lignes permettant d'avoir des enregistrements simples (avec une seule information différente par ligne).

Pas très clair?? j'ai joint à cet effet un fichier exemple simplifié. Dans celui-ci, on a un onglet données_brutes avec le tableau initial : on y trouve 5 enregistrements avec 1 à 6 produits par enregistrement.

Dans l'onglet résultat recherché, le rendu que je souhaiterai : récupération des donnée invariables (ici n°commande et date) et création de lignes.

Compte tenu du fait que je souhaiterai que cette macro soit applicable dans différents classeurs, j'aimerais pouvoir suivre le process suivants :

  • sélection de la matrice global (dans mon exemple la matrice complète, à savoir A2:H6)
  • lancement de la macro
  • sélection des informations à traiter (dans mon exemple la matrice produit, à savoir C2:H6)
  • traitement des données et collage du nouveau tableau dans une zone (préalablement sélectionné?)

Je suis bien conscient que ce n'est pas simple mais je ne suis pas très bon en macro!

Merci par avance,

Samuel

Bonjour

Utilisez ce code

Sub test()
Dim docl As Byte, col As Byte
Dim i As Integer, dlg as integer
dcol = Cells(2, Columns.Count).End(xlToLeft).Column
col = 3
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
   Do While Cells(i, col) <> 0
    With Sheets("resultat")
        dlg = .Range("A" & .Rows.Count).End(xlUp).Row + 1
        .Range("A" & dlg) = Range("A" & i)
        .Range("B" & dlg) = Format(Range("B" & i), "dd/mm/yyyy")
        .Range("C" & dlg) = Cells(i, col)
        col = col + 1
    End With
    Loop
    col = 3
Next
End Sub

J'ai renommé votre feuille résultat_recherché par --> resultat

évitez les accents dans les noms de feuilles

Si ok et terminé, merci de cloturer le fil en cliquant sur le v vert à coté du bouton EDITER lors de votre réponse

Cordialement

Rechercher des sujets similaires à "macro creation lignes donnees"