job75,
j'ai testé les nouvelles lignes sans verrouiller, cela marche, j'ai testé en ne vérouillant que la page cela marche, je n'ai pas vérifier encore la MFC.
Quand je lance la macro qui verrouille tous les onglets, cela bloque, quand je reviens vers l'onglet "Format_Act_P" j'ai un MSG "code 1004" erreur définie par l'application ou par l'objet, cela doit être un Pb avec ma macro (ci dessous).
enfin pour que la macro se relance de nouveau je dois aller dans:
Private Sub Worksheet_Activate()
Worksheet_Change [A1] 'lance la macro
End Sub
* et faire exécution dans VBA pour que cela fonctionne
j'ai remarqué que lorsque je verrouille tous avec la macro l'ensemble des onglets se verrouillent, lorsque je déverrouille avec la macro, l'onglet "Format_Act_P" reste verrouillé.
Sub Locked()
' Protection automatique de toutes les feuilles d'un classeur
Dim nombre As Integer
Dim Motdepasse As String
Motdepasse = InputBox("Entrer le mot de passe :", "Mettre la protection sur toutes les feuilles", "")
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Worksheets(i).Protect Password:="DRM_BPE_2020"
Next i
End Sub
Sub Unlocked()
' Déprotection automatique de toutes les feuilles d'un classeur
Dim nombre As Integer
Dim Motdepasse As String
Motdepasse = InputBox("Entrer le mot de passe :", "Oter la protection de toutes les feuilles", "")
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Worksheets(i).unprotect Password:="DRM_BPE_2020"
Next i
End Sub
----
j'ai une autre macro qui débloque une zone puis la re bloque, est ce qu'il faudrait faire pareil ?
voir ci dessous
Sub impression_ARTT_1()
If MsgBox("Attention !!! l'impression verrouille définitivement le Tableau toute modification devra passée par un administrateur, vérifiez bien les données de cet agent. Voulez vous continuer ? ", vbYesNo, "Demande de confirmation !!") = vbYes Then
With Sheets("TABLEAUX_RTT")
.Select
.unprotect "DRM_BPE_2020"
.Range("A1:AG41").PrintOut
.Range("C18:AG23,C25:AG30").Locked = True
.Protect
End With
End If
End Sub
je suis désolé, je cherche à comprendre.
je dois m'absenter je reviens vers 21h00.