IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Fonction renvoyant si une cell a ete updatee


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 53
    Par défaut Fonction renvoyant si une cell a ete updatee
    Bonjour a tous,

    J'aimerais pouvoir avoir qui s'update une cell automatiqueent avec la date du jour des lors qu une autre cell a ete updatee (cela me sert a garder une trace temporelle des modifications de mon fichier de suivi).
    Il faudrait que cet update (de la cell avec la date du jour) ne se realise que lorsque je ferme mon classeur ou lorsque je change de feuille de travail.

    Une idee?

    Merci d'avance

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    En mettant à jour la cellule en question à la fermeture de ton fichier, beforeClose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_BeforeClose(Cancel as Boolean)
        If cells(NoLigne,NoCol) = condition then Cells(AmettreAjour) = Now()
    End Sub
    Juste pour l'idée, pense à indiquer le nom des feuilles

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut
    Loin de moi l'idée de dénigrer les propose de notre noble modérateur mais selon ce que tu veux faire tu as aussi la solution de placer une textbox cachée dans ta feuille (propriété "Visible" à False) et de la lier à ta cellule (propriété "Linked" à coordonnées_de_la_cellule).

    De cette facon, la textbox change de valeur en même temps que ta case et tu pourras récupèrer l'évènement "textbox_OnChange" de ta textbox

    J'avoue que c'est un peu du bricolage mais ca peut servir dans certains cas ^^

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Loin de moi l'idée de dénigrer les propos de Kraaan mais, quant à moi... je dis "toute bonne idée et bonne à prendre !"

  5. #5
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 53
    Par défaut
    Merci pour vos conseils.
    Cependant, je veux pouvoir etre capable d'updater beaucoup plus d une cell. en fait, des qu'une valeur est changee sur une ligne je veux que, sur cette ligne, une case soit affectee de la date du jour.

    N'y aurait-il pas une fontion "built-in" qui me renverrait, par rapport a une selection de cells (un "Range" par ex), les coordonnees de la cell qui ete updatee par l'utilisatuer?

    Merci encore

    sinon, je me lance sur l'idee de la textbox cachee

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu pourrais peut-être utiliser le commentaire de la cellule... Dès que la cellule a été modifiée, tu lui ajoutes un commentaire Date. Rien ne t'empêche de les supprimer quand tu "en éprouves le besoin". Tu peux également gérer l'affichage ou non des commentaires...
    Pour gérer ça, il faudrait que tu le fasses dans l'événement Worksheet_Change de la feuille de calculs en ajoutant un test sur le "Target" des cellules concernées

    Edit
    Je t'ai fait quelque chose que tu pourrais peut-être adapter
    Le code est à placer dans la feuille de code de la feuille de calcul
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Plage as string
    Plage = "$D$6,$J$14,$K$14,$L$18,$D$20,$L$34,$I$35,$E$37,$D$42"
        If InStr(Plage, Target.Address) <> 0 Then
            With Target
                .AddComment
                .Comment.Text Text:=CStr(Now())
            End With
        End If
        Application.DisplayCommentIndicator = xlCommentIndicatorOnly
    End Sub
    ... où plage contient les adresses des cellules concernées
    Pour te faciliter "éventuellement" l'écriture de la plage, le code ci-après.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub SaisirLaPlage()
    Dim r As Range
      Set r = Application.InputBox("Sélectionner les cellules en appuyant sur la touche ctrl", Type:=8)
      Cells(1, 1).Value = r.Address
    End Sub
    Tu remplaces Cells(1,1) par l'adresse d'une cellule vide et tu copies les adresses dans le code.
    L'avantage est qu'un indicateur rouge t'indiquera toutes les cellules modifiées (à défaut d'afficher les commentaires)
    Juste une idée
    A+

  7. #7
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 53
    Par défaut
    J ai mis en place ton idee...et cela marche du feu de dieu..en fin ca marche quoi!
    Merci beaucoup de ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lancer une fonction à partir d'une cell
    Par sellamelie dans le forum MATLAB
    Réponses: 2
    Dernier message: 08/12/2010, 14h49
  2. Réponses: 2
    Dernier message: 15/05/2008, 10h45
  3. [SQL] php et recuperation d'une valeur renvoyée par une fonction sql
    Par highman dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/06/2006, 15h42
  4. Fonction renvoyant une string
    Par salseropom dans le forum C
    Réponses: 8
    Dernier message: 04/05/2006, 11h44
  5. [LG]résultat renvoyé par une fonction
    Par le 27 dans le forum Langage
    Réponses: 3
    Dernier message: 10/12/2003, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo