Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 :

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
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Oups !!! Retirez le End If . J'ai oublié de le faire.
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
Fin:
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…