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

suivi historique

  • Initiateur de la discussion Initiateur de la discussion wachoo31
  • Date de début Date de début

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 !

wachoo31

XLDnaute Occasionnel
Bonjour a toutes et tous

J'ai un fichier de suivi de matériels composé de plusieur feuilles de différente mise en page.
Je voudrais que quand je modifie une ou plusieur cellule d'une même ligne d'une feuille, celle-ci soit automatiquement copiée en entier dans une feuille d' historique de données afin de pouvoir a tout moment retroouvé l'évolution de mon matériel.

Bon dimanche a vous
 
Re : suivi historique

bonsoir,

un petit exemple que j'avais utilisé il y a quelques temps et que tu dois modifier, au moins il y a les bases....

le code est dans le thisworkbook

à chaque enregistrement, il y a une sauvegarde.
cette sauvegarde enregistre l'username + la date + les 2 cellules A2 et B2 de la feuilles Données.

à toi à changer certaines parties du code pour l'adapter à ce que tu veux

amicalement

chantal
 

Pièces jointes

Re : suivi historique

Bonjour Alain, Chantal

Tu n'es pas vraiment explicit et sans autres détails, voici une double procédure à placer dans "ThisWorkBook" qui s'activera et appliquera litéralement ta phrase :

"quand je modifie une ou plusieur cellule d'une même ligne d'une feuille, celle-ci soit automatiquement copiée en entier dans une feuille d' historique"

NB nécessité d'avoir une feuille nommée "historique"

Code:
Option Explicit
Private Const HistoryWS As String = "historique"
Private WorkingRow As Range
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    
    If Sh.Name <> HistoryWS Then
        Set WorkingRow = Range(Cells(Target.Row, 1), Cells(Target.Row, 255))
    End If
    
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Sh.Name <> HistoryWS Then
        With Worksheets(HistoryWS)
        WorkingRow.Copy .Range("A65536").End(xlUp).Offset(1, 0)
        End With
    End If
End Sub

Bon Appétit

@+Thierry
 
- 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

  • Question Question
Microsoft 365 Tableau
Réponses
5
Affichages
288
Réponses
5
Affichages
428
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…