Actualisation des valeurs ds excel pour macro VBA - VB/VBA/VBS - Programmation
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 ?)
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.
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 ?
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.
Marsh Posté le 14-04-2005 à 22:11:51
ju182 a écrit : Apparemment je ne suis pas clair. Voici le truc: |
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
Marsh Posté le 15-04-2005 à 08:31:10
dernière question : c'est la macro qui pilote les variations dans A1 et A2 ?
Marsh Posté le 18-04-2005 à 22:15:21
ju182 a écrit : rectification: |
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
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.
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.
Marsh Posté le 14-04-2005 à 00:26:38
Bonjour,
Jai un tableau (excel) avec un grand nombre de ligne à traiter, une partie des valeurs du tableau sont des formules qui renvoient à dautres cellules du tableau. (typiquement des si() et des sommes) . Jaimerais construire une macro pour effectuer un travail répétitif :
Changer la valeur dune cellule et regarder leffet 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 qua chaque fois quil y a une modification dans le tableau excel mette à jour les cellules qui dépende de la cellule modifiée ? Si il ny a pas de commande, comment être sur que les valeurs soient bien actualisées avant que litération suivante de la boucle ne commence ?
Jespère que je suis clair (sinon jessaierai de lêtre davantage) et merci de me renseigner sur ce sujet si vous avez des informations.