Multiplier une colonne

sesame

XLDnaute Nouveau
Bonjour,

Je suis en train de faire une macro afin de multiplier complètement la colonne A (valeur fixe) par une variable se trouvant dans C10.

Mon soucis, c'est que je ne sais pas comment faire pour réinitialiser les valeurs de départ dans la colonne A en cas de changement de multiplicateur.

ex:


Dans C10 je mets 2, je lance la macro, la colonne A est multiplier par deux:
(10-6-12-16-4)

Maintenant si je mets 10 dans C10 et que je lance la macro il faudrait qu'elle multiplie la colonne de départ (5-3-6-8-4) et non pas le résultat de la précédente multiplication (10-6-12-16-4), ce qui devrait donner:
(50-30-60-80-40)

Et ainsi de suite à chaque changement de multiplicateur.

Merci pour votre aide :)
 

JNP

XLDnaute Barbatruc
Re : Multiplier une colonne

Bonjour Sésame, le forum :),
Je subodore que tu passe par une macro événementielle du type Private Sub Worksheet_Change(ByVal Target As Range) et que tu utilise un collage spécial en multiplication. Je ne pense pas qu'au changement de valeur, tu puisses récupérer l'ancienne valeur. Par contre, pour contourner le problème, tu peux en fin de macro stocker ton multiplicateur (en D10 par exemple). Et au début de ta macro, tu commence par diviser avec D10 avant de multiplier avec C10.
Bonne journée :cool:
 

sesame

XLDnaute Nouveau
Re : Multiplier une colonne

Merci encore JNP.

J'avais aussi pensé au coup de la division, enfin pas de cette façon, mais je ne savais pas si il était possible de stocker les valeurs de la colonne en mémoire afin de réinitialiser le calcul au départ de la macro.
 

JNP

XLDnaute Barbatruc
Re : Multiplier une colonne

Re Sésame :),
Le problème de stocker via VBA, c'est que dès que tu ferme le classeur tu perds les valeurs. Maintenant, si c'est ton choix, tu peux stocker les valeurs dans un tableau dans la procédure Open, en ayant pris soin de déclarer en Public ton tableau, d'y faire appel à chaque déclenchement de ta macro, et enfin de les recopier avant de quitter en utilisant Before_Close.
Bonne soirée :cool:
 

Will-e-coyote

XLDnaute Occasionnel
Re : Multiplier une colonne

Bonjour les gens !! :)

Peut-etre que je dis une bêtise mais dans l'esprit des macros evènementielles, ne serait-il pas possible de contourner le problème en utilisant le selectionchange ? Elle vérifierai que la sélection qui initie l'evènement est bien C10 et stockerai la valeur en publique pour qu'elle soit accessible d'autre macros

Qu'en pensez-vous ?:eek:
 

Discussions similaires

Réponses
0
Affichages
231

Statistiques des forums

Discussions
312 315
Messages
2 087 168
Membres
103 489
dernier inscrit
CACCA