Bonsoir Chermiti, bonsoir le forum,
En pièce jointe ton fichier modifié avec un bouton Fiches. Clique dessus...
Le code :
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim PL As Range 'déclare la variable PL (PLage)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination))
Dim I As Integer 'déclare la variable I (Incrément)
Dim NP As Range 'déclare la variable NP (Nouvelle Plage)
Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
Set O = Worksheets("Feuil3") 'définit l'onglet O
TV = O.Range("A3").CurrentRegion 'définit le tableau des valeurs TV
Set PL = O.Range("J1:K6") 'définit la plage PL (le modèle)
For I = 2 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde)
Set DEST = O.Cells(Application.Rows.Count, "G").End(xlUp).Offset(3, 0) 'définit la celllule de destination DEST
PL.Copy DEST 'copie la plage PL et la colle dans DEST
Set NP = DEST.Resize(2, 6) 'définit la nouvelle plage NP
NP(3, 1).Value = TV(I, 1) 'récupère dans la cellule ligne 3 colonne 1 de NP la donnée ligne I colonne 1 de TV
NP(3, 2).Value = TV(I, 2) 'récupère dans la cellule ligne 3 colonne 2 de NP la donnée ligne I colonne 2 de TV
Next I 'prochaine ligne de la boucle
Application.ScreenUpdating = True 'affiche les rafraîchissements d'écran
End Sub
Le Fichier :