Afficher la date de modification pour chaque feuille d'un classe
Résolu
Fizia
-
Fiziah Messages postés 18 Statut Membre -
Fiziah Messages postés 18 Statut Membre -
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
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:
- Excel mise à jour date si modification
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mise en forme conditionnelle excel - Guide
- Mise a jour chromecast - Accueil - Guide TV et vidéo
- Si ou excel - Guide
2 réponses
Bonjour Fizia, bonjour le forum,
Si tu souhaites que seul l'onglet modifié soit affecté :
Si tu souhaites que tous les onglets soient affectés :
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
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
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
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
L'ami ThauThème n'était certainement pas réveillé de sa sieste...
Remplacer :
Par :
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
Si tu souhaites que seul l'onglet modifié soit affecté :
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