Macro condition If

Bonjour,

J'essaie de faire 2 actions.

La première est que j'ai fait 3 macros qui verrouilleront des sections d'un tableau selon leur date limite respective, afin de ne pas pouvoir modifier les données inscrites. Je précise que les 3 macros fonctionnent bien. Mais j'essaie de faire en sorte que chaque macro s'exécute une après l'autre à l'ouverture, mais je ne trouve pas le lien à mettre entre elles.

A1 est la date du jour (AUJOURDHUI())

F5 est la date limite pour compléter cette section du tableau

Sub datelimitebesoin()

Feuil7.Activate
    If Range("A1") < Range("F5") Then
    Call verrouillerbesoin

End If
End Sub

Sub datelimiteaffectation()

Feuil7.Activate
    If Range("A1") < Range("J5") Then
    Call verrouilleraffectation
    
End If
End Sub

Sub datelimiteconfirmation()

Feuil7.Activate
    If Range("A1") < Range("P5") Then
    Call verrouillerconfirmation
End If
End Sub

La deuxième chose est que j'aimerais que c'est trois macros s'exécutent sur les 10 autres feuilles qui sont exactement identique (mais porte un nom de compagnie différente) à la Feuil 7 qui est le modèle de feuille où j'inscrit les dates limites à la place de les inscrire sur les 10 feuilles étant donné que c'est les mêmes dates.

J'espère que j'explique bien mon cas.

Merci à l'avance!

2 réponses

  1. Bonjour,

    Concerne la première chose, pour exécution à l'ouverture du classeur la macro est à mettre dans [ThisWorkbook]

    Private Sub Workbook_Open()
    datelimitebesoin
    datelimiteaffectation
    datelimiteconfirmation
    End Sub

    La deuxième chose, merci du retour, il y a 11 feuilles dans le classeur y compris la [Feuil7] !

    Et ou se trouvent les dates [Range("F5") / Range("J5") / Range("P5")....!


    0
    1. Bonjour,

      La nuit porte conseil, voici ma proposition, adapter vos 3 macros de verrouillage comme suit :

      Sub verrouiller_XYZ()
      Dim sh As Worksheet
          For Each sh In ThisWorkbook.Worksheets
              If sh.Name <> "Feuil7" Then
              
              '***** insérer votre code
              'pour le verrouillage y relatif
              '*****
              
              End If
          Next sh
      
      End Sub
      

      0