Protection TTe feuiiles dans une macro

Bonjour le Forum,

Grâce à vous , que je remercie encore, j'ai pu réglé un problème de macro concernant la couleur de certains cadres.

Afin de complète cet exercice, j'aurai de nouveau besoin de vos lumières, je ne suis pas encore calé en Vba.

Reprenant ce dossier, j'aurai besoin que celui-ci Déprotège toutes les feuilles avant le lancement de la macro Color et que celle-ci se termine par une protection de toutes les feuilles sans mot de passe.
J'ai essayé sans succès.

le code
Public macouleur As Long

Sub ColorCadre()
tabloF = Array("JANVIER", "FEVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOUT", "SEPTEMBRE", "OCTOBRE", "NOVEMBRE", "DECEMBRE")
ChoixCouleur.Show
For f = 0 To 11
Set plage = Sheets(tabloF(f)).Range("C5:F5,H5:K5,M5:P5,C15:F15,H15:K15,M15:P15,C21:F21,H21:K21,M21:P21")
plage.Interior.Color = macouleur
Next f
End Sub


Merci à Vous.
DanVoit

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonsoir,

    Après une recherche , j'ai trouvé la solution.
    Merci malgré à tous.
    1. Bonjour

      Tant mieux si tu as trouvé.
      Ce qui serait bien c'est que tu partages ta solution,d'autres pourraient en avoir besoin.
      Cordialement
      1. Bonjour,

        Effectivement : il y a en fait 2 solutions,

        La première :

        Public macouleur As Long
        Sub ColorCadre()
        Application.ScreenUpdating = False
        tabloF = Array("JANVIER", "FEVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOUT", "SEPTEMBRE", "OCTOBRE", "NOVEMBRE", "DECEMBRE")
        ChoixCouleur.Show
        For f = 0 To 11
        Sheets(tabloF(f)).Activate
        Sheets(tabloF(f)).Unprotect
        Set plage = Sheets(tabloF(f)).Range("C5:F5,H5:K5,M5:P5,C15:F15,H15:K15,M15:P15,C21:F21,H21:K21,M21:P21")
        plage.Interior.Color = macouleur
        Sheets(tabloF(f)).Protect
        Next f
        Sheets(tabloF(0)).Activate
        End Sub

        ------------------------------------------------------------------------------------------------
        La deuxième qui reste très utile car il suffit de la coupler avec une autre Macro "Protection/Déprtotection en l'appelant ,

        Donc d'abord la Macro Color (comme indiquer dans ma demande plus haut),
        Puis insérer la commande suite :

        Sub DeproColorProt()

        Call DEPROTECTION 'macro deprotection
        Call ColorCadre ' macro couleur cadre
        Call PROTECTION ' macro protection
        End Sub

        C'est celle que je préfère, elle reste simple.
        Bonne journée.