Bonjour,
pour l'intégrer dans votre fichier :
Clic droit sur le nom de l'onglet où se trouve le tableau.
Sélectionner dans le menu contextuel qui apparaît "Afficher le code".
Copier coller ce qui suit :
Private Sub Worksheet_Change(ByVal Target As Range)
' fonction événementielle qui détecte une modification de valeur dans une cellule
' cette cellule est "représentée" par Target
' on test si cette modification a eu lieu en colonne R
If Not Intersect(Target, Range("R:R")) Is Nothing Then
' on est bien en colonne R, on commence par déverrouiller la feuille
ActiveSheet.Unprotect
' si c'est le cas on vérifie la valeur de cette cellule
If Target.Value = "verrouiller" Then
' si c'est égal à "verrouiller" alors on met la propriété Locked de la ligne choisie (Target.Row) à True (vrai)
' ce qui aura pour effet de verrouiller ces cellule lorsque la protection de la feuille sera remise
Range(Cells(Target.Row, 1), Cells(Target.Row, 17)).Locked = True
Else
' sinon on met cette propriété à Faux
Range(Cells(Target.Row, 1), Cells(Target.Row, 17)).Locked = False
End If
' on remet la protection de la feuille pour que les modifications faites soient "actives"
ActiveSheet.Protect
End If
End Sub
Voilà il vous reste plus qu'à "sauvegarder sous" afin de choisir l'extension de fichier .xlsM qui correspond au format d'un fichier Excel qui contient des Macros. Si vous sélectionnez .xlsX alors les Macros seront supprimées du fichier et il ne sera plus fonctionnel comme vous le souhaitez.
2) il vous faut alors sélectionner toutes les cellules de la page, puis clic droit, dans le menu sélectionnez "Format de cellule", puis dans la fenêtre qui s'ouvre l'onglet protection et décochez la ligne Verrouillée.
Voilà par défaut les cellules de la feuille ne sont pas verrouillée, mais en mettant la case à verrouiller cela les verrouillera !
Pour le 3) c'est faisable, mais là je manque de temps...
Donc @ très bientôt
LouReeD