Actualisation des valeurs ds excel pour macro VBA

Actualisation des valeurs ds excel pour macro VBA - VB/VBA/VBS - Programmation

Marsh Posté le 14-04-2005 à 00:26:38    

Bonjour,
J’ai un tableau (excel) avec un grand nombre de ligne à traiter, une partie des valeurs du tableau sont des formules qui renvoient à d’autres cellules du tableau. (typiquement des si() et des sommes) . J’aimerais construire une macro pour effectuer un travail répétitif :
Changer la valeur d’une cellule et regarder l’effet sur la somme et copier la valeur de la somme sur une nouvelle feuille. Je pense utiliser des boucles « for » , et je me demande si il faut inclure une commande dans la macro pour qu’a chaque fois qu’il y a une modification dans le tableau excel mette à jour les cellules qui dépende de la cellule modifiée ? Si il n’y a pas de commande, comment être sur que les valeurs soient bien actualisées avant que l’itération suivante de la boucle ne commence ?  
J’espère que je suis clair (sinon j’essaierai de l’être davantage) et merci de me renseigner sur ce sujet si vous avez des informations.

Reply

Marsh Posté le 14-04-2005 à 00:26:38   

Reply

Marsh Posté le 14-04-2005 à 13:08:47    

up.

Reply

Marsh Posté le 14-04-2005 à 18:58:45    

Question bête : tu veux faire une feuille qui te références des cellules d'une autre feuille ? (voire la valeur de A10 de Feuil1 dans la cellule B98 de Feuil5 ?)

Reply

Marsh Posté le 14-04-2005 à 20:54:30    

Non, Je change x fois un parametre ce qui influence les autres cellules de la feuille puis j'enregistre le résultat (une somme) dans une feuille différente.

Reply

Marsh Posté le 14-04-2005 à 21:04:23    

tu veux que pour le résultat x = 1 soit créé une cellue
x = 2 une autre, x = 3 .... et que le tout soit additionné dans une cellule ?

Reply

Marsh Posté le 14-04-2005 à 21:17:30    

Apparemment je ne suis pas clair. Voici le truc:
Dans les cellules A1,A2 il y a des valeurs de seuil.
Dans la colonne B il y a des valeurs à tester.
Dans la colonne C on donne une valeur en fonction de la valeur de la colonne B et des valeurs seuils.
Enfin on compare dans la colonne D, les valeurs de la colonne D et de la colonne E(référence) , si les valeurs sont identiques on met 0 sinon 1.
Puis on fait la somme des valeurs de la colonne D.
Le but est de faire varier les valeurs de seuils et d'enregistrer les valeurs de la somme.
C'est un peu compliquer, alors j'espere que vous aurez compris.

Reply

Marsh Posté le 14-04-2005 à 22:11:51    

ju182 a écrit :

Apparemment je ne suis pas clair. Voici le truc:
Dans les cellules A1,A2 il y a des valeurs de seuil.
Dans la colonne B il y a des valeurs à tester.
Dans la colonne C on donne une valeur en fonction de la valeur de la colonne B et des valeurs seuils. /// jusque la OK
Enfin on compare dans la colonne D, les valeurs de la colonne D (??) et de la colonne E(référence) , si les valeurs sont identiques on met 0 sinon 1. // ok
Puis on fait la somme des valeurs de la colonne D.
Le but est de faire varier les valeurs de seuils et d'enregistrer les valeurs de la somme. // -> on fait varier B et on récupère les valeurs de D dans des cellules différents (??) si oui j ai compris.
C'est un peu compliquer, alors j'espere que vous aurez compris.


Reply

Marsh Posté le 15-04-2005 à 00:33:23    

rectification:
Enfin on compare dans la colonne D, les valeurs de la colonne C et de la colonne E(référence) , si les valeurs sont identiques on met 0 sinon 1.
On fait varier A1 et A2 (seuils), qui implique des modifications des valeurs présentes dans les Colonnes C et donc D par implication et donc de la somme de D que l'on récupère

Reply

Marsh Posté le 15-04-2005 à 08:31:10    

dernière question : c'est la macro qui pilote les variations dans A1 et A2 ?

Reply

Marsh Posté le 18-04-2005 à 09:28:02    

Oui, c'est la macro qui fait varier A1 et A2

Reply

Marsh Posté le 18-04-2005 à 09:28:02   

Reply

Marsh Posté le 18-04-2005 à 22:15:21    

ju182 a écrit :

rectification:
Enfin on compare dans la colonne D, les valeurs de la colonne C et de la colonne E(référence) , si les valeurs sont identiques on met 0 sinon 1.
On fait varier A1 et A2 (seuils), qui implique des modifications des valeurs présentes dans les Colonnes C et donc D par implication et donc de la somme de D que l'on récupère


 
houla! c'est pas clair.
 
ou met tu 0 ou 1 ? a quoi ca sert? (c'est informatif ou utile?) (D = quoi une valeur ou 1/0?)
tu ne te sert pas de la colonne B?
 
donc si j'ai compris:
 
A et B = seuil
si (C = E) ==> (D = 0) ==> A & B ne changent pas
 
si (C <> E) ==> (D = 1) ==> A & B changent ==> C change pour obtenir (C = E) ou (D = 0)
 
merci de confirmer ou infirmer

Reply

Marsh Posté le 19-04-2005 à 09:15:54    

le 0 ou 1 de la colonne D est utile, il sert à compter les différences.
tu ne te sert pas de la colonne B?
Dans la colonne B il y a des valeurs à tester. (c'était marqué plus haut).
En pratique ça donne :
A1 = seuil 1 = 25
A2 = seuil 2 = 80
dans la colonne les valeurs à tester de 0 à 99
ex: B1=90, B2=10, B3=45...
Dans C on compare B aux 2 seuils, si B > A2 -> C=2
si A2>B>A1 -> C=1; si B<A1 -> C=0
ex: C1=2, C2=0, C3=1
On compare dans D, C avec E (E est la référence qui ne change pas); si C=!E->D=1,  
C=E->D=0
ex:E1=1, E2=0, E3=1;
alors D1=1, D2=0, D3=0
Ensuite on fait la somme de la colonne D (dans l'ex: somme=1) que l'on enregistre dans une nouvelle feuille.

Reply

Marsh Posté le 19-04-2005 à 09:20:49    

mais en fait la vrai question, c'est de savoir si lorsqu'excel exécute une macro, entre deux lignes de commandes de visual basic, est-ce que les valeurs d'excel sont mise à jour?
Car le probleme serait que j'enregistre une somme qui ne correspond pas aux seuils que la macro vient de changer.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed