Public Sub CalculAbsoption()
Dim CC As Worksheet 'déclare la variable CC (Carte de Contrôle)
Dim LI As Long 'déclare la variable LI (LIgne)
Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
Set CC = Worksheets("exemple") 'définit l'onglet CC
CC.Unprotect "panier" 'déprotège l'onglet CC
With CC
LI = .Cells(Rows.Count, "B").End(xlUp).Row 'définit la première ligne vide de la colonne B
.Range(.Cells(LI, "B"), .Cells(LI, "F")).Locked = True 'verrouille la ligne LI
End With
'protège l'onglet CC
CC.Protect Password:="panier", DrawingObjects:=True, Contents:=True, Scenarios:=True, _
AllowFormattingCells:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True
End Sub
'---------------------------------------------------------------
'À mettre dans le module de la feuille, utilise TAB du clavier pour te déplacer de B à F
Private Sub Worksheet_SelectionChange(ByVal R As Range)
If Not Intersect(R, Columns("G:G")) Is Nothing Then Call CalculAbsoption
End Sub