Sub CalculAbsoption()
Dim CC As Worksheet 'déclare la variable CC (Carte de Contrôle)
Dim LI As Integer 'déclare la variable LI (LIgne)
Dim COL As Byte 'déclare la variable COL (COLonne)
Dim MA As Double 'déclare la variable MA (Moyenne Absorption)
Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
Set CC = Worksheets("Carte de contrôle") 'définit l'onglet CC
CC.Unprotect 'déprotège l'onglet CC
LI = IIf(CC.Range("C28").Value = "", 28, CC.Cells(Application.Rows.Count, "C").End(xlUp).Row + 1) 'définit la ligne LI (première ligne vide de la colonne C)
For COL = 3 To 7 'boucle sue les colonnes de 3 à 7
MA = (CC.Cells(23, COL) - CC.Cells(24, COL) - CC.Cells(21, 2)) / CC.Cells(24, COL) 'définit la moyenne d'absortion MA de la colonne de la boucle
CC.Cells(LI, COL).Value = MA 'renvoie cette moyenne dans la ligne LI de la colonne de la boucle
Next 'prochaine colonne de la boucle
CC.Rows(LI).Cells.Locked = True 'verrouille la ligne LI
'protège l'onglet CC
CC.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True
Application.ScreenUpdating = True 'affiche les rafraîchissements d'écran
End Sub