Sub Macro1()
Dim col As Byte 'déclare la variable col (COLonne)
Dim pl As Range 'déclare la variable pl (PLage)
For col = 1 To 7 Step 3 'boucle sur les colonnes 1 à 7 par pas de 3
With Sheets("DISPO") 'prend en compte l'onglet "DISPO"
Set pl = .Cells(3, col).CurrentRegion 'définit la plage pl
Set pl = pl.Offset(1, 0).Resize(pl.Rows.Count - 1, pl.Columns.Count) 'redéfinit la plage pl (sans la première ligne)
pl.Sort Key1:=.Cells(4, col + 1), Order1:=xlAscending, Header:=xlYes 'tri la plage en fonction du stock
End With 'fin de la prise en compte de l'onglet "DISPO"
Next col 'prochaine colonne de la boucle
End Sub