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 :

Récupérer l'ancienne valeur d'une case


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Points : 43
    Points
    43
    Par défaut Récupérer l'ancienne valeur d'une case
    Bonjour,

    Lorsque l'utilisateur change une valeur, l'évenement Workbook_Change est généré. Je souhaiterais avoir accès à l'ancienne valeur de la case dans la procédure gérant l'évenement Workbook_Change. Est ce possible? Si oui comment?

    Merci

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 929
    Points
    55 929
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Dans un module standard, il faut déclarer une variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public ValeurCellule As Variant
    Puis, dans le module de ThisWorkbook, tu places les codes suivants
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Workbook_Open()
        ' Mémorise la valeur de la cellule active à l'ouverture du fichier
        ValeurCellule = ActiveCell.Value
    End Sub
     
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
        ' Mémorise la valeur de la cellule qui est activée
        ValeurCellule = ActiveCell.Value
    End Sub
    Cette variable contiendra donc la valeur de la cellule active, et sera modifiée à chaque activation d'une cellule.

    Dans l'évènement Worksheet_Change, tu peux rappeler cette variable pour obtenir l'ancienne valeur de la cellule...


    Ok?

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut CrazySeb, Pierre Fauconnier et les autres
    Je souhaiterais avoir accès à l'ancienne valeur de la case dans la procédure gérant l'évenement Workbook_Change. Est ce possible? Si oui comment?
    Pierre ayant fait une proposition, avant de complexifier à loisir, demande quelques précisions :
    - Ton problème concerne une feuille unique ou plusieurs ?
    - Autorises-tu les multi-sélection ?
    - On ne doit mémoriser que la valeur précédente au changement (pas l'historique) ?
    A+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Points : 350
    Points
    350
    Par défaut
    Bonsoir à tous,

    A voir et adapter si cela répond à la question.
    Ici, c'est le contenu de A1 qui est mémorisé après la première saisie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim Contenu, Initial
    Private Sub Worksheet_Change(ByVal Target As Range)
        Contenu = Initial
        If Target.Address <> "$A$1" Then Exit Sub
        Initial = Target: MsgBox "il y avait " & Contenu
    End Sub

Discussions similaires

  1. [PHPExcel] Récupérer la valeur d'une case à cocher
    Par arnogb69 dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 04/11/2010, 16h35
  2. Récupérer la valeur d'une case d'un tableau
    Par Lyliene dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/04/2009, 16h10
  3. Récupérer la valeur d'une case à cocher
    Par emmy99 dans le forum Langage
    Réponses: 5
    Dernier message: 08/03/2008, 20h59
  4. Récupérer la valeur d'une case
    Par daniel_a1 dans le forum Excel
    Réponses: 2
    Dernier message: 23/01/2008, 10h25
  5. Récupérer la valeur d'une case à cocher
    Par seb1395 dans le forum Langage
    Réponses: 4
    Dernier message: 05/01/2008, 01h18

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