Sub Macro1()
Dim dl As Long 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim o As Object 'déclare la variable o (Onglet)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)
With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1"
dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne dl de la colonne A (=1) (à adapter si besoin)
Set pl = .Range("D2:D" & dl) 'définit la plage pl (à partir de la deuxième ligne, tu modifieras si besoin)
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
Select Case cel.Value 'agit en fonction de la valeur de la cellule cel
Case "Super" 'cas "Super"
Set o = Sheets("Feuil2") 'définit l'onglet o
Case "Moyen" 'cas "Moyen"
Set o = Sheets("Feuil3") 'définit l'onglet o
End Select 'fin de l'action en fonction de ...
'définit la cellule de destination (A3 si A3 est vide, sinon la première cellule vide de la colonne A)
Set dest = IIf(o.Range("A3") = "", o.Range("A3"), o.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
.Range(.Cells(cel.Row, 1), .Cells(cel.Row, 3)).Copy dest 'copie et colle les 3 cellules dans dest
Next cel 'prochaine cellule de la boucle
End With 'fin de la prise en compte de l'onglet "Feuil1"
End Sub