Afficher la date de modification pour chaque feuille d'un classe

Résolu/Fermé
Fizia - 15 févr. 2017 à 12:32
Fiziah Messages postés 18 Date d'inscription jeudi 16 février 2017 Statut Membre Dernière intervention 10 novembre 2017 - 17 févr. 2017 à 14:14
Bonjour,
J'aurais besoin d'afficher en en tête de chaque feuille la date de la dernière modification/enregistrement.
Mais j'ai plusieurs feuilles dans ce classeur qui peuvent donc avoir des date de mise à jour différentes.
J'ai utiliser ceci :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Feuil1").Range("A1").Value = Now
End Sub

Mais le souci avec cette "formule" c'est que dès que je fais un enregistrement quelque soit la feuille la mise à jour se fait seulement sur la feuille 1, je n'arrive pas à les multiplier sur toutes les feuilles.
Merci de votre aide


A voir également:

2 réponses

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
15 févr. 2017 à 15:38
Bonjour Fizia, bonjour le forum,

Si tu souhaites que seul l'onglet modifié soit affecté :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Sh.Range("A1").Value = Now
End Sub


Si tu souhaites que tous les onglets soient affectés :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim O As workwheet
For Each O In Sheets
O.Range("A1").Value = Now
Next O
End Sub

2
Bonjour Thautheme et merci pour votre réponse.

J'aurais du préciser que je suis une vraie novice en matière de VBA.
J'ai copier coller vos lignes pour que tous les onglets soient affectés et je n'arrive pas à enregistrer.
Une pop up VBA s'ouvre et m'indique :

! Erreur de compilation :
Type défini par l'utilisateur non défini
(ce morceau de texte est surligné : O As workwheet)

Qu'est ce que je ne fais pas correctement ?
Merci encore
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744 > Fizia
16 févr. 2017 à 10:17
Salut,

L'ami ThauThème n'était certainement pas réveillé de sa sieste...
Remplacer :
Dim O As workwheet

Par :
Dim O As Worksheet
0
Bonjour pijaku !

En effet même si je suis nulle en VBA ça j'aurais dû le remarquer et faire la correction toute seule !!
Merci en tout cas !
J'ai bien une date qui s'affiche maintenant sur chaque feuille.
Par contre mon but était d'avoir des dates de mise à jour spécifiques par feuille qui ne sera pas forcément la même pour toutes les feuilles puisque chaque feuille représente un domaine différent.
Or en testant si je fais une modification en feuil2 et que j'enregistre, cela modifie aussi la date dans toutes les autres feuilles que la feuil2.
Alors que je voulais une date de mise à jour unique pour chaque feuille qui changera que si j'ai modifié cette feuille et que j'ai ensuite enregistrer mon document, est ce que c'est envisageable ?

Merci beaucoup beaucoup !!
Fizia
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744 > Fizia
16 févr. 2017 à 10:32
tu as eu la réponse par ThauThème :
Si tu souhaites que seul l'onglet modifié soit affecté :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Sh.Range("A1").Value = Now
End Sub
0
Fiziah Messages postés 18 Date d'inscription jeudi 16 février 2017 Statut Membre Dernière intervention 10 novembre 2017
16 févr. 2017 à 10:50
Ah OK !!!
Je n'avais pas compris qu'il fallait l'enregistrer pour chaque feuille.

Merci vraiment ça marche très bien c'est super bravo !!

Maintenant j'ai une toute dernière requête, pardonner si j'abuse :
Si je fais une modification qui n'étais pas à faire est-ce que je peux récupérer l'ancienne date de mise à jour ?
Ou dois-je me contenter de fermer mon fichier sans l'enregistrer ?

Merci à tous et très belle journée à vous tous.
Fizia
0
Fiziah Messages postés 18 Date d'inscription jeudi 16 février 2017 Statut Membre Dernière intervention 10 novembre 2017
17 févr. 2017 à 14:14
Hello !

J'ai discuté avec ma collègue et finalement elle ne juge pas nécessaire d’apporter ce petit plus.
J'avoue que j'ai été un peu déçue car ne serait-ce que par curiosité....ça m'aurait plu de continuer !!!!
Mais bon je vais rester raisonnable et ne pas vous faire chercher pour rien !
En tout cas merci à vous deux on est très contente de ces améliorations sur notre gros fichier !!
Bonne continuation
Fizia
0