Répeter une fonction pour chaque ligne de tableau

Bonjour à tous,

Je suis en train d'écrire une maccro qui remplit des formulaires avec des données présentes dans un tableau. Pour vous aider a comprendre je vais vous lister les feuilles de mon classeur :

  • ATA 106 NEW (formulaire numéro 1)
  • ATA 106 USED (formulaire numéro 2)
  • Feuil1 (Mon tableau de donnée)

Le programme rempli le formulaire 1 ou 2, selon une condition, en copiant chaque cellule d'une ligne du tableau à un endroit ciblé et toujours identique dans le formulaire, il copie ensuite ce formulaire dans une nouvelle feuille à la fin du classeur, et recommence l'opération avec la ligne suivante du tableau.

Je n'arrive pas a trouver comment faire pour que l'opération se répète autant de fois qu'il y a de ligne dans le tableau (CAD si j'ai 30 ligne, je me retrouverai avec 30 formulaires différents et complétés ).

Merci pour votre aide !

Voici mon programme :

Sub ATTA106()

Sheets("Feuil1").Activate

If Range("E2").Value Like "NEW" Then

Sheets("ATA 106 Quantité 1 NEW").Range("Q2") = Sheets("Feuil1").Range("F2")

Sheets("ATA 106 Quantité 1 NEW").Range("G9") = Sheets("Feuil1").Range("G2")

Sheets("ATA 106 Quantité 1 NEW").Range("S9") = Sheets("Feuil1").Range("H2")

Sheets("ATA 106 Quantité 1 NEW").Range("G14") = Sheets("Feuil1").Range("A2")

Sheets("ATA 106 Quantité 1 NEW").Range("C14") = Sheets("Feuil1").Range("B2")

Sheets("ATA 106 Quantité 1 NEW").Range("O14") = Sheets("Feuil1").Range("C2")

Sheets("ATA 106 Quantité 1 NEW").Range("Q14") = Sheets("Feuil1").Range("D2")

Sheets("ATA 106 Quantité 1 NEW").Range("U14") = Sheets("Feuil1").Range("E2")

Sheets("ATA 106 Quantité 1 NEW").Range("H20") = Sheets("Feuil1").Range("I2")

Sheets("ATA 106 Quantité 1 NEW").Range("H21") = Sheets("Feuil1").Range("J2")

Sheets("ATA 106 Quantité 1 NEW").Range("H22") = Sheets("Feuil1").Range("K2")

Sheets("ATA 106 Quantité 1 NEW").Range("M27") = Sheets("Feuil1").Range("L2")

Worksheets("ATA 106 Quantité 1 NEW").Copy After:=Sheets(Sheets.Count)

Else

Sheets("ATA 106 Quantité 1 USED").Range("Q2") = Sheets("Feuil1").Range("F2")

Sheets("ATA 106 Quantité 1 USED").Range("G9") = Sheets("Feuil1").Range("G2")

Sheets("ATA 106 Quantité 1 USED").Range("S9") = Sheets("Feuil1").Range("H2")

Sheets("ATA 106 Quantité 1 USED").Range("G14") = Sheets("Feuil1").Range("A2")

Sheets("ATA 106 Quantité 1 USED").Range("C14") = Sheets("Feuil1").Range("B2")

Sheets("ATA 106 Quantité 1 USED").Range("O14") = Sheets("Feuil1").Range("C2")

Sheets("ATA 106 Quantité 1 USED").Range("Q14") = Sheets("Feuil1").Range("D2")

Sheets("ATA 106 Quantité 1 USED").Range("U14") = Sheets("Feuil1").Range("E2")

Sheets("ATA 106 Quantité 1 USED").Range("H20") = Sheets("Feuil1").Range("I2")

Sheets("ATA 106 Quantité 1 USED").Range("H21") = Sheets("Feuil1").Range("J2")

Sheets("ATA 106 Quantité 1 USED").Range("H22") = Sheets("Feuil1").Range("K2")

Sheets("ATA 106 Quantité 1 USED").Range("M27") = Sheets("Feuil1").Range("L2")

Worksheets("ATA 106 Quantité 1 USED").Copy After:=Sheets(Sheets.Count)

End If

Sheets("Feuil1").Activate

If Range("E3").Value Like "NEW" Then

Sheets("ATA 106 Quantité 1 NEW").Range("Q2") = Sheets("Feuil1").Range("F3")

Sheets("ATA 106 Quantité 1 NEW").Range("G9") = Sheets("Feuil1").Range("G3")

Sheets("ATA 106 Quantité 1 NEW").Range("S9") = Sheets("Feuil1").Range("H3")

Sheets("ATA 106 Quantité 1 NEW").Range("G14") = Sheets("Feuil1").Range("A3")

Sheets("ATA 106 Quantité 1 NEW").Range("C14") = Sheets("Feuil1").Range("B3")

Sheets("ATA 106 Quantité 1 NEW").Range("O14") = Sheets("Feuil1").Range("C3")

Sheets("ATA 106 Quantité 1 NEW").Range("Q14") = Sheets("Feuil1").Range("D3")

Sheets("ATA 106 Quantité 1 NEW").Range("U14") = Sheets("Feuil1").Range("E3")

Sheets("ATA 106 Quantité 1 NEW").Range("H20") = Sheets("Feuil1").Range("I3")

Sheets("ATA 106 Quantité 1 NEW").Range("H21") = Sheets("Feuil1").Range("J3")

Sheets("ATA 106 Quantité 1 NEW").Range("H22") = Sheets("Feuil1").Range("K3")

Sheets("ATA 106 Quantité 1 NEW").Range("M27") = Sheets("Feuil1").Range("L3")

Worksheets("ATA 106 Quantité 1 NEW").Copy After:=Sheets(Sheets.Count)

Else

Sheets("ATA 106 Quantité 1 USED").Range("Q2") = Sheets("Feuil1").Range("F3")

Sheets("ATA 106 Quantité 1 USED").Range("G9") = Sheets("Feuil1").Range("G3")

Sheets("ATA 106 Quantité 1 USED").Range("S9") = Sheets("Feuil1").Range("H3")

Sheets("ATA 106 Quantité 1 USED").Range("G14") = Sheets("Feuil1").Range("A3")

Sheets("ATA 106 Quantité 1 USED").Range("C14") = Sheets("Feuil1").Range("B3")

Sheets("ATA 106 Quantité 1 USED").Range("O14") = Sheets("Feuil1").Range("C3")

Sheets("ATA 106 Quantité 1 USED").Range("Q14") = Sheets("Feuil1").Range("D3")

Sheets("ATA 106 Quantité 1 USED").Range("U14") = Sheets("Feuil1").Range("E3")

Sheets("ATA 106 Quantité 1 USED").Range("H20") = Sheets("Feuil1").Range("I3")

Sheets("ATA 106 Quantité 1 USED").Range("H21") = Sheets("Feuil1").Range("J3")

Sheets("ATA 106 Quantité 1 USED").Range("H22") = Sheets("Feuil1").Range("K3")

Sheets("ATA 106 Quantité 1 USED").Range("M27") = Sheets("Feuil1").Range("L3")

Worksheets("ATA 106 Quantité 1 USED").Copy After:=Sheets(Sheets.Count)

End If

End sub

Rechercher des sujets similaires à "repeter fonction chaque ligne tableau"