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

Suivre les modifications d'une cellule

  • Initiateur de la discussion Initiateur de la discussion RichardJ
  • 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 !

R

RichardJ

Guest
Bonjour,
Je voudrai savoir comment je pourrai suivre les modifications d'une cellule en inscrivant dans une autre cellule la date de la dernière modification.

Mon objectif est de suivre les modifications faites par plusieurs utilisateurs dans un fichier partagé contenant des données financières.

Je suis conscient de ne pas être très clair, et veuillez donc excuser mon inexpérience.

En vous remerciant.
Richard
 
Re : Suivre les modifications d'une cellule

Bonjour Richard,
Je te propose un fichier de JB BOIGONTIER que j'avais trouvé déjà il y a quelque temps sur le site d'Excellabo (Ce lien n'existe plus. Ce dernier devrait te permettre d'avancer un peu car il liste toutes les modifications d'une plage de cellule définie. Voilà à adapter à tes besoins.
Bonne journée.
 

Pièces jointes

Re : Suivre les modifications d'une cellule

Bonjour Richard,

voici en Pièce jointe, une solution faisant appel à des procédures événementielles. ( pour stocker la valeur initiale puis si il y a modif, générer un rapport de suivi sur une autre feuille).

A + Luc

Edition!!!

je viens de voir la solution proposée par Criscris, c'est la même approche, très intéressante en commentaire. Tout dépend si les modifications doivent être visibles à l'utilisateur.
 

Pièces jointes

Dernière édition:
Re : Suivre les modifications d'une cellule

Je vous remercie encore mais le problème c'est mon niveau en excel.
Disons que je suis un utilisateur ordinaire. Au mieux je gère des tdc avec des calculs de base.
Donc je ne sais pas coder ni intégrer les macros que vous avez eu la gentillesse de me communiquer. C'est très mystérieux pour moi même si j'ai su faire fonctionner les feuilles de calcul envoyées.
A part me former plus avant, je ne sais donc pas comment intégrer ces solutions.
Merci quand même.
richard
 
Re : Suivre les modifications d'une cellule

Salut Richard,
Je pense que si tu postes ton fichier ou une partie tout du moins, on pourra jetter un coup d'oeil et peut-être intégrer l'une deux deux solutions. Je ne dis pas que c'est moi qui le ferais car je n'est pas un niveau très haut en VBA mais sur ce forum il y en a d'autres qui maîtrisent comme des dieux. Alors fais comme tu veux, mais moi je n'hésiterais pas un seul instant.
Bonne journée.
 
Re : Suivre les modifications d'une cellule

Re Richard, CrisCris

Si c'est mystérieux et que ça marche, c'est que c'est bien programmé!

Quelques explications sur le fichier que je t'ai joint et comment l'utiliser:

- Dans la feuille 1, j'ai nommé la plage de cellules encadrées "ListeA", seules les cellules de cette plage seront prisent en compte.
- Dans le module de code de cette feuille se trouvent les macros, qui vont réagir auévénements qui se passent dans cette feuille et uniquement dans celle-ci.
- pour accéder à ce code : ALT+F11 pour ouvrir l'éditeur VBA puis dans l'explorateur de projets, double clic sur "feuil1"
- 2 variables sont déclarées au niveau module ( avant les macros) pour utilisables par les 2 macros.
-Il y a 2 macro. La première réagit lorsque la sélection change dans la feuille :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- la deuxième réagit lorsque tu saisis quelque chose dans une cellule:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Pour voir ce qui se passe, ajoute un point d'arrêt au début de chaque macro ( clic gauche dans la barre verticale grise à gauche du code). Au moment ou elle se déclenchent, elle vont s'arrêter dessus. Tu pourras continuer leur exécutions en pas à pas avec la touche F8.

Ci dessous le code complet du module "Feuille1":
Code:
Option Explicit

Dim RgCible As Range  'variable qui sert à stocker la plage qui est prise en compte
Dim OldValue As Variant  ' Variable servant à stocker provisoirement la valeur de la cellule sélectionée

' cette macro réagit en premier et stocke la valeur de la cellule si elle est dans la plage voulue

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set RgCible = Range("ListeA")      ' Affecte la plage qui doit être prise en compte à la variable
 If Not Intersect(RgCible, Target) Is Nothing Then OldValue = Target.Value  ' si la sélection est dans la plage voule, la valeur de la cellule est stockée dans une variable.
End Sub

' cette macro réagit ensuite et si la valeur de la cellule change, récupère la valeur stockée pour l'écrire dans la feuille de rapport.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim WksRapport As Worksheet ' variable pour stocker une feuille
Dim Li As Long ' variable pour stocker une valeur numérique de type long

    Set WksRapport = Worksheets(2) 'affecte la feuille "rapport" à la variable
    If Not Intersect(RgCible, Target) Is Nothing Then ' si l'intersection de la plage choisie et de la cellule sélectionée (Target) ne donne rien, la macro passe
    'à la suite ( directement à End if) sinon execute le code si dessous.
        With WksRapport
            Li = .Range("A65536").End(xlUp).Row + 1 'cherche la dernière ligne utilisée dans la feuille rapport pour ecrire à la suite
            .Cells(Li, 1) = Target.Address ' ecrit l'adresse de la cellule
            .Cells(Li, 2) = OldValue ' écrit l'ancienne valeur
            .Cells(Li, 3) = Target.Value ' écrit la nouvelle valeur
            .Cells(Li, 4) = Now 'écrit la date
        End With
    End If
End Sub
Je reposte le fichier avec ses commentairespour que tu puisse faire des essais. Dis moi si tu comprends tout!

A+
 
Re : Suivre les modifications d'une cellule

Merci encore à tous, et en particulier à LUKI
Je suis arrivé à transférer la macro dans un fichier d'essai et à la faire fonctionné.
Comme je ne connais le code et son vocabulaire une dernière question comment puis-je affecter le rapport à un autre fichier ?
Merci bien
Richard
 
Re : Suivre les modifications d'une cellule

Bonjour Richard,

Bien sûr que l'on peut générer le rapport dans un autre fichier. Toutefois, j'attire ton attention sur le fait que ça implique de gérer pas mal de paramètres: le fichier est -il ouvert?, existe-il ?, se trouve-il sur un serveur?, sur ce poste? Qui a le droit de l'ouvrir? etc.... Tout ça peut-être fait, mais, si tu débutes en VBA, celà peut vite devenir difficile à gérer.

Si tu pouvais préciser la finalité de ton projet, ça permettrait de chercher les solutions les plus adaptées à ton besoin et à ton niveau en VBA. Par exemple, simplement une feuille cachée dans ton classeur....

A bientôt
 
Re : Suivre les modifications d'une cellule

Merci luki,

Effectivement je pense qu'il vaut mieux rester modeste.
Donc j'opterai pour la solution de cacher la feuille afin d'éviter les interventions de groupe sur une base partagée.

Mon objectif est de suivre des modifications comme y répond ton programme afin d'identifier l'origine de certaines évolutions budgétaires dans un ensemble. D'une façon générale, un reprérage assez grossier -la modification d'une cellule- doit suffire.

Donc je m'en tiendrai à ta proposition de masquer la feuille, et je t'en remercie d'avance.
J'en profite, et j'abuse, si je trouve le temps, à partir de quoi je pourrai m'initier à la programmation sous excel.
Encore merci.
 
Re : Suivre les modifications d'une cellule

Bonjour,

En lisant ta demande, pourquoi ne pas utiliser l'outil qu'excel te propose.
Suis ce lien : Lien supprimé

Bon appétit
 
Re : Suivre les modifications d'une cellule

Merci DAN
C'est pas mal aussi. Comme quoi je suis loin d'avoir tout vu sur excel...
Bon ben j'crois que j'ai pas mal d'outils pour m'organiser.
Merci
 
Re : Suivre les modifications d'une cellule

Re Richard, Dan

En Pj, le fichier complété par :
une macro dans un module standard (avec Option Private ) qui permet de voir la feuille cachée avec un mot de passe.

Dans le module "ThisWorkbook" une macro qui s'assure que la feuille de rapport est bien cachée à l'ouverture.

Pour voir le rapport à partir d'excel:
  1. Alt+F8 pour exécuter les macros.
  2. dans la zone de saisie tape: " Rapport " ( c'est le nom de la macro) car elle n'est pas visible dans la liste des macros
  3. Ton mot de passe est " Richard " ( Attention à la casse)
  4. Tu peux quitter le fichier en l'état, la feuille de raport sera masquée à la prochaine ouverture ( mais pas accessible par le menu feuille/afficher)
Ce n'est pas idéal en terme de sécurité, mais ça évite à l'utilisateur de base de pouvoir consulter le rapport ou de le modifier.

Vois si ça te convient
 

Pièces jointes

Re : Suivre les modifications d'une cellule

Bonjour à tous du forum,

j'utilise le code suivant pour avoir un commentaire dès qu'il y a un changement d'une range

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Application.EnableEvents = False
  If Target.Column <> 0 Then                  
    On Error Resume Next                        
    Err = 0
    temp = Target.Comment.Text                 
    If Err <> 0 Then Target.AddComment          
    Target.Comment.Text Text:=Target.Comment.Text & _
       Target.Value & " Modifié par:" & NomUtil() & _
         " Le " & Now & vbLf
    Target.Comment.Visible = True
    Target.Comment.Shape.Select
    Selection.AutoSize = True
    Target.Comment.Visible = False
    On Error GoTo 0                             
  End If
  Application.EnableEvents = True
End Sub

je voudrais utiliser ce même code sous
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'met un commentaire directement si on clique ou on va avec le curser sur une range

mais uniquement avec la condition que s'îl y a couleur de fond mis,
qu'est affiché l'historique de changement dans commentaire,

sinon si on clique quelque part, y figure déjà un commentaire,

Ne sait pas quel code est à ajouter,
 

Pièces jointes

Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

P
Réponses
1
Affichages
707
R
Réponses
1
Affichages
835
N
Réponses
4
Affichages
1 K
N
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…