Microsoft 365 Vérification formule à la fermeture du classeur

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pierrof

XLDnaute Occasionnel
Bonjour à tous,

Je souhaiterais mettre en place un contrôle sur des formules afin d'éviter les suppressions par des utilisateurs.

Dans mon fichier exemple sur la colonne AA j'ai une formule somme (AA2) et une formule qui récupère des données (AA3:AA62) sur toutes les feuilles

J'aimerais qu'à la fermeture du classeur, une macro puisse vérifier si sur toutes les feuilles les formules sont bien reseigné et si il y une cellule qui a été supprimée de la recrée.

Je laisse un fichier exemple, en espérant avoir était clair 🙂.

Merci beaucoup de votre aide.

Bonne journée
 

Pièces jointes

Bonjour pierrof, fanfan38,

La protection des feuilles est vraiment illusoire.

En effet il suffit de recopier les cellules des feuilles du classeur sur les feuilles d'un classeur vierge.

On peut placer cette macro dans ThisWorkbook :
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim w As Worksheet
For Each w In Worksheets
    w.Columns("AA").ClearContents 'RAZ
    w.Columns("AA").Interior.ColorIndex = xlNone
    w.Range("Z2") = "Somme"
    w.Range("AA2") = "=SUM(AA3:AA62)"
    w.Range("AA2").Interior.ColorIndex = 44
    w.Range("Z3") = "Formule"
    w.Range("AA3:AA62") = "=IF(A3<>"""",E3,0)"
    w.Range("AA3:AA62").Interior.ColorIndex = 6
Next
Me.Save 'enregistrement
End Sub
A+
 

Pièces jointes

Bonjour pierrof, fanfan38,

La protection des feuilles est vraiment illusoire.

En effet il suffit de recopier les cellules des feuilles du classeur sur les feuilles d'un classeur vierge.

On peut placer cette macro dans ThisWorkbook :
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim w As Worksheet
For Each w In Worksheets
    w.Columns("AA").ClearContents 'RAZ
    w.Columns("AA").Interior.ColorIndex = xlNone
    w.Range("Z2") = "Somme"
    w.Range("AA2") = "=SUM(AA3:AA62)"
    w.Range("AA2").Interior.ColorIndex = 44
    w.Range("Z3") = "Formule"
    w.Range("AA3:AA62") = "=IF(A3<>"""",E3,0)"
    w.Range("AA3:AA62").Interior.ColorIndex = 6
Next
Me.Save 'enregistrement
End Sub
A+
Bonjour Job75,
Merci de ton retour.
Je vais tester.
Bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
74
Réponses
4
Affichages
717
Réponses
2
Affichages
392
Retour