Empêcher macro SI

Bonjour Je souhaiterais empécher la "Macro" tant que la protection des feuilles est active

Merci d'avance

Nonno

Sub mouv()

If UCase(Sheets("Mouvement").Range("I3").Value) = "A" Then

    Dim Sh As Worksheet, sh2 As Worksheet
    Dim lig As Integer

    Application.ScreenUpdating = False

    Set Sh = Sheets("Mouvement")
    Set sh2 = Sheets("ArchivMouv")

    With Sh.ListObjects(1)
        If .ListRows.Count = 0 Then
            .ListRows.Add: lig = 1
        Else: .ListRows.Add Position:=1: lig = 1
        End If
        With .DataBodyRange
            .Item(lig, 1) = Sh.Range("C7")
            .Item(lig, 2) = Sh.Range("C14")
            .Item(lig, 3) = Sh.Range("C9")
            .Item(lig, 4) = Sh.Range("C11")
            .Item(lig, 5) = Sh.Range("C16")
            .Item(lig, 6) = Sh.Range("C17")
            .Item(lig, 8) = Sh.Range("C12")
        End With
    End With

    With sh2.ListObjects(1)
        If .ListRows.Count = 0 Then
            .ListRows.Add: lig = 1
        Else: .ListRows.Add Position:=1: lig = 1
        End If
        With .DataBodyRange
            .Item(lig, 1) = Sh.Range("C7")
            .Item(lig, 2) = Sh.Range("C14")
            .Item(lig, 3) = Sh.Range("C9")
            .Item(lig, 4) = Sh.Range("C11")
            .Item(lig, 5) = Sh.Range("C16")
            .Item(lig, 6) = Sh.Range("C17")
            .Item(lig, 9) = Sh.Range("C12")
        End With
    End With

    Else
        MsgBox "Non autorisé"
    End If
  Rows("40:40").Select 'Purge Tableau 6
    Selection.Delete Shift:=xlUp
    Range("I3").Select

bonjour Nonno,

quelque chose avec

If ActiveSheet.ProtectContents = True Then MsgBox "protégé"

bonjour Bart

Oui quelque chose comme ça, mais ça bug je dois mal placé le End if

comme ceci ?

Sub mouv()

     If UCase(Sheets("Mouvement").Range("I3").Value) = "A" Then

          Dim Sh As Worksheet, sh2 As Worksheet
          Dim lig As Integer

          Application.ScreenUpdating = False

          Set Sh = Sheets("Mouvement")
          Set sh2 = Sheets("ArchivMouv")

          If Sh.ProtectContents = True Then MsgBox "Mouvement est encore protégé": Exit Sub 'msgbox et arrêter
          If sh2.ProtectContents = True Then MsgBox "ArchivMouv est encore protégé": Exit Sub

          ....

  

Bonjour,

tant qu'à faire :

          If Sh.ProtectContents = True Then MsgBox sh.name & " est encore protégé": Exit Sub 'msgbox et arrêter
          If sh2.ProtectContents = True Then MsgBox sh2.name & " est encore protégé": Exit Sub 'msgbox et arrêter

eric

Bonsoir eriiic ,bonsoir BsAlv

Merci à vous deux, ainsi qu'à Bart.

Les deux propositions fonctionnent!

Bonne soirée

Nonno

Rechercher des sujets similaires à "empecher macro"