XL 2019 Protection dans une feuille.

Paulle

XLDnaute Occasionnel
Bonjour,
Sur la feuille 11, si je rentre une date en cellule B28, la cellule A28 se met à jour.

Sur la feuille 22, j’ai protégé les cellules de A2 à A27. Et là, la cellule A28 ne se met pas à jour. Et le tableau se transforme en plage de donnée.

Est-il possible en plus, que si l’on clique par exemple sur la cellule A28 qui est dans la colonne protégée d’aller directement sur la cellule B28 ?

Merci.
 

Pièces jointes

  • Protec01.xlsm
    32.1 KB · Affichages: 8

Paulle

XLDnaute Occasionnel
Bonjour,
Merci pour votre aide.
Si je rajoute colonne B une date inférieure à la dernière date du tableau et que je fais un tri sur les dates, la colonne A ne se met pas à jour.
 

Pièces jointes

  • Protec04 (3).xlsm
    34.2 KB · Affichages: 4
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Je ne sais pas ce que vous avez fait ou modifié, mais dans votre colonne A les formules sont fausses.
Faites dans l'onglet Formules, Afficher les formules. et vous obtenez ça :
1700036706466.png

On voit que de la ligne 2 à 15 les formules sont bonnes, mais ensuite elles sont fausses.
Par ex dernière ligne , ligne 33 il est fait référence à B31.
Un conseil, comme vous avez un tableau structuré, utilisez sa puissance.
En colonne A remplacez la formule par :
VB:
=SI(Tableau33[[#Cette ligne];[Date]]<AUJOURDHUI();"Passé";"Dans "& (Tableau33[[#Cette ligne];[Date]]-AUJOURDHUI()&" jours"))
Testez cette PJ, j'y ai fait les modifs, et les formules en colonne A restent correcetes après un tri car elles références toujours à Tableau33[[#Cette ligne] sans référence au N° de ligne.
 

Pièces jointes

  • Protec04 (3) (3).xlsm
    27.2 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
Très franchement, je ne comprend plus rien à votre raisonnement.
1- Titre du fil : Protection dans une feuille.
2- On met dans la macro : ActiveSheet.Protect
3- Et vous rajoutez juste après ActiveSheet.Unprotect
Alors autant simplifier la macro :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [B:B]) Is Nothing Then Cells(Target.Row, "B").Select
End If
Fin:
End Sub
:)
 

Discussions similaires

Statistiques des forums

Discussions
312 209
Messages
2 086 266
Membres
103 168
dernier inscrit
isidore33