Ficher recapitulatif des heures en fonction des semaines

là çà va je maitrise la protection …
C’est le code « verrouiller » « déverrouiller » les macros qui va me manquer

Hello
en debut de macro mettre
Sheets("la feuille a déverrouillé").Unprotect
et en fin de traitement
Sheets("la feuille a verrouillé").Protect

Si tu as plusieurs feuilles. tu colles à la suite ?

C’est à mettre dans chaque macro, je n’ai pas vu tes macros ou celles que FFO t’as faites, qui va modifier une des feuilles protégée

“Pour que la couleur du texte devienne rouge ?”

J’ai interprété cette demande comme étant la couleur de la cellule et non de sa donnée

Désolé !!!

Mets comme ceci :

Range(« A » & Target.Row, « P » & Target.Row).Font.Color = -16776961

Testes à l’appui cela fonctionne

Tous les onglets qui sont modifiés par le traitement doivent être déprotégés à son début et reprotégés à sa fin tel que taz067 l’a très bien décrit merci à lui

Et ce dans toutes les macros

A ta dispos si besoin

Donc si tu as plusieurs feuilles à déverrouiller tu mets, par exemple :
Sheets("feuill1").Unprotect
Sheets("feuill2").Unprotect
Sheets("feuill3").Unprotect ??

Dans le tableau base vierge … tu fais comment pour que çà déverrouille la feuille « S1 » et que çà verrouille les feuilles de S1 à S52 ?

Bonjour

Effectivement autant de feuille autant de ligne de code ainsi :

Sheets(« feuillx »).Unprotect

“tu fais comment pour que çà déverrouille la feuille « S1 »”

Idem :

Sheets(“S1").Unprotect

“et que çà verrouille les feuilles de S1 à S52”

Il suffit que celle pris pour modèle (“S1") le soit car leur création à partir de celle-ci intégrera son verrouillage

Donc juste à verrouiller la feuille “S1" manuellement ou dans le traitement de la création des onglets 2 à 52 en tout début mettre

Sheets(“S1").protect

J’espère que tout est claire pour toi

on peut mettre ceci dans thisworkbook et en ouvrant le fichier, toutes les feuilles restent protégé mais VBA sait modifier sans enlever la protection. Cela fonctionne pour 99% des actions (quelque problèmes avec des autofilter et listobjects).

Au lieu de toutes les feuilles, une selection est aussi possible.

Private Sub Workbook_Open()
     For Each sh In ThisWorkbook.Worksheets
          sh.Protect userinterfaceonly:=True
     Next
End Sub

Cà ne fonctionne pas

J’ai rajouter ce code dans la macro du recap OF du tableau Base vierge pour tir automatiquement les données
Base Vierge.xlsm (244,2 Ko)


Range("A3:S1500").Select
    ActiveWorkbook.Worksheets("Recap OF").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Recap OF").Sort.SortFields.Add Key:=Range("A3:S1500") _
    , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Recap OF").Sort
        .SetRange Range("S4:S1500")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

mais çà ne fonctionne pas :confused:

Euh non :slight_smile: .. je rajoute çà a quel moment dans la macro ??
parce que çà ne vérouille pas les 51 autres feuilles.

En tout début du traitement qui crée les onglets 2 à 52

Base Vierge.xlsm (261,1 Ko)

Tu peux me le faire car j’ai essayé et çà plante la macro dès la création de la 2eme feuille.

Y a une ligne de code a rajouter pour que les données soient trié par ordre alphabétique ??

Effectivement désolé je n’ai pas pris en compte l’actualisation de la cellule “V5” du numéro de la semaine

Celle-ci ne peux se faire que sur un onglet non protégé

Ci-après ton fichier adapté en conséquence

A la fin du traitement de la création de tous les onglets “S02” à “S52” tous ceux-ci ainsi que celui “S01’“ sont en état de protection

important l’onglet modèle “S01” doit être non protégé à l’exécution de cette macro

Testes et dis moi

Base Vierge (2).xlsm (102,9 Ko)

Parfait .. merci :slight_smile:

Au plaisir

À ta dispos une prochaine fois

dans votre macro “traitement”

      ActiveSheet.Protect userinterfaceonly:=True     '***********************************
  

Attends je n’ai pas encore fini mon « usine à gaz » :wink: