Protection TTe feuiiles dans une macro

Fermé
DAN41HOM Messages postés 23 Date d'inscription mardi 4 décembre 2018 Statut Membre Dernière intervention 14 décembre 2018 - 8 déc. 2018 à 19:37
DAN41HOM Messages postés 23 Date d'inscription mardi 4 décembre 2018 Statut Membre Dernière intervention 14 décembre 2018 - 11 déc. 2018 à 05:44
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
A voir également:

3 réponses

DAN41HOM Messages postés 23 Date d'inscription mardi 4 décembre 2018 Statut Membre Dernière intervention 14 décembre 2018 4
8 déc. 2018 à 20:52
Bonsoir,

Après une recherche , j'ai trouvé la solution.
Merci malgré à tous.
0
JCB40 Messages postés 2878 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 14 avril 2024 461
9 déc. 2018 à 10:55
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
0
DAN41HOM Messages postés 23 Date d'inscription mardi 4 décembre 2018 Statut Membre Dernière intervention 14 décembre 2018 4
11 déc. 2018 à 05:44
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.
0