Bonjour,
Voici le code commenté, j'espère que ça va t'aider :
Sub Test()
Dim TblFe
Dim I As Integer
TblFe = Array("CDF1", "CDF3") '<--- ici les différents noms de feuille visés
For I = 0 To UBound(TblFe)
With Worksheets(TblFe(I))
.PageSetup.PrintArea = "" 'supprime une éventuelle zone d'impression
'.Cells(1, 1) ---> représente la cellule A1 (ligne 1, colonne 1)
'.Cells(.Cells(1, 7).Value ---> récupère la valeur de la cellule G1
'à laquelle on rajoute 5 car la plage commence à la ligne 5 donc décalage nécessaire pour ne pas tronquer en partie basse
'le chiffre 8 représente la colonne H puisque Cells() attend deux arguments (optionnels) qui sont en premier le numéro de ligne et en second le numéro de colonne
'et ".Address" car "PrintArea" attend une adresse de plage sous forme de String
.PageSetup.PrintArea = .Range(.Cells(1, 1), .Cells(.Cells(1, 7).Value + 5, 8)).Address
End With
Next I
End Sub