Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1631 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  détection changement de valeure

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

détection changement de valeure

n°1413138
Cgplaco
Posté le 25-07-2006 à 15:26:02  profilanswer
 

J'ai une cellule avec une formule dans exel (ex : =A1+A2), et je voudrais exécuter une action automatiquement à chaque foie  
que cette cellule change de valeure. pouvez vous me dire quelle instruction je doit utiliser?

mood
Publicité
Posté le 25-07-2006 à 15:26:02  profilanswer
 

n°1413145
jpcheck
Pioupiou
Posté le 25-07-2006 à 15:32:51  profilanswer
 

Cgplaco a écrit :

J'ai une cellule avec une formule dans exel (ex : =A1+A2), et je voudrais exécuter une action automatiquement à chaque foie  
que cette cellule change de valeure. pouvez vous me dire quelle instruction je doit utiliser?


si tu as la formule "=A1+A2" dans A3 par exemple, il est inutile de demander de calculer a nouvau la valeur si A1 ou A2 sont modifiés, c'est fait automatiquement par Excel.
Par contre, si tu fait varier ta formule selon les valeurs qu'il y a dans d'autre cellules, tu fais appel à la fonction .Formula = "=..."

n°1413152
Cgplaco
Posté le 25-07-2006 à 15:37:54  profilanswer
 

non, en fait, ce que je veux faire c'est par exemple faire incrémenter un compteur à chaque foi que la valeure calculée par la formule dans la cellule A3 change...

n°1413153
Paul Hood
Posté le 25-07-2006 à 15:38:16  profilanswer
 

Tu peux utiliser la procédure Calculate dans ta feuille
Si A3=A1+A2, dès que A1, ou A2 est modifié ta procédure Calculate se déclenche et exéute le code que tu lui as mis. Si tu entre dans la cellule sans changer la valeur la procédure ne se déclenche pas.
Private Sub Worksheet_Calculate()
  'mets ton code
End Sub

n°1413162
Cgplaco
Posté le 25-07-2006 à 15:44:56  profilanswer
 

Comment est ce que je doit l'écrire?
 
Private Sub Worksheet_Calculate()
if ?????????? then
"mon code"

n°1413167
jpcheck
Pioupiou
Posté le 25-07-2006 à 15:48:10  profilanswer
 

ce que paul voulait dire par là, c'est que la fonction calculate prend en compte toute modification de cellule intervenant dans un calcul. Para rapport à ton idée de départ, qui reprend ton histoire d'historique de modification, une simple formule cells(i,j).value = cells(i,j).value + 1 où cells(i,j) correspond à ta cellule compteur adéquate.

n°1413171
Paul Hood
Posté le 25-07-2006 à 15:49:31  profilanswer
 

Est-ce qu'il y a d'autres cellules pour lesquelles un calcul est effectué ?

n°1413182
Paul Hood
Posté le 25-07-2006 à 16:06:03  profilanswer
 

Dans ta feuille "Feuil1"
' la formule C1=A1+B1, le cpt en cellule A4 (initialisé à 0 dans la feuille)
Private Sub Worksheet_Calculate()
    If Sheets("Feuil1" ).Range("C1" ).Value <> ValC1 Then
        Sheets("Feuil1" ).Range("A4" ).Value = Sheets("Feuil1" ).Range("A4" ).Value + 1
    End If
End Sub
Dans ThisWorkbook
Public ValC1 As String
 
Private Sub Workbook_Open()
    ValC1 = Sheets("Feuil1" ).Range("C1" ).Value
End Sub
 
et ca compte les modifs de la cellule C1 et mets le compteur en A4

n°1413280
Cgplaco
Posté le 25-07-2006 à 17:21:56  profilanswer
 

OK, cette foi ça marche très bien, merci beaucoup pour votre aide.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  détection changement de valeure

 

Sujets relatifs
ecriture dans un fichier (gras,changement de police...)changement de couleur avec onChange
Galerie d'images sans changement de pagedetection de dépendance circulaire
Code PHP pour la detection du plug in flashchangement d'une partie d'un texte avec onFocus
Changement de serveur : restaurer une base de données[VBA] Détection de 2 chaines identiques successives
Detection plug in flashBoite de selection : conserver son choix après changement de page ?
Plus de sujets relatifs à : détection changement de valeure


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR