Macro multiplication

Résolu/Fermé
rico - 6 juin 2011 à 22:28
 rico - 6 juin 2011 à 23:26
Bonjour,

n'ayant pas trouver de solution sur ce forum (pour une fois :p) je poste mon petit pb:
J'ai sur un fichier la formule suivante dans la cellule G2: =SI(A2="";0;C2*D2)
Je souhaiterai créer une macro qui appliquerait cette formule sur toutes les lignes.
En glissant/collant la formule cela fonction mais cela alourdi grandement le fichier et le calcul prend beaucoup de temps.
En résumé je recherche la macro correspondant à la formule: en G: =SI(A="";0;C*D).

merci de votre aide.

Eric

A voir également:

1 réponse

Syzygy Messages postés 378 Date d'inscription vendredi 29 avril 2011 Statut Membre Dernière intervention 31 décembre 2011 142
6 juin 2011 à 22:49
Bonjour,

Je ne suis pas sur de bien comprendre l'intérêt de votre macro. Que ce soit vous ou une macro qui insère la formule dans toute votre feuille de calcul, la formule sera toujours présente. Votre macro ne diminuera pas la taille de votre fichier et n'accélèrera pas la vitesse de calcul.

Vous souhaitez peut-être que la macro ajoute cette formule à chaque nouvel enregistrement que vous saisirez dans votre base ?
0
Bonjour,
Merci de votre réponse rapide.
Je pensais qu'au lieu d'inscrire cette formule sur 2000 lignes (par exemple), le fait de passer par une macro aurait allégé le poids de mon fichier qui fait pour le moment 3,5Mo et il est loin d'être fini.
Je compte effectivement lancer cette formule via un bouton lors de la mise à jour de la base données.
Est-il vraiment judicieux de faire cela?
0
Syzygy Messages postés 378 Date d'inscription vendredi 29 avril 2011 Statut Membre Dernière intervention 31 décembre 2011 142
6 juin 2011 à 23:15
Je n'ai pas votre fichier sous les yeux, mais le passage par une macro pourrait dans ce cas réduire le nombre d'opération en implémentant le nombre de cellule calculée. Il est effectivement inutile de prévoir 5000 lignes si vous n'en utilisez que 1500.

En revanche si la macro doit écrire cette formule dans 2000 cellules d'une seule traite, il pourrait y avoir un temps de latence.

Quelle version d'Excel utilisez-vous? A partir de la version 2007, vous pouvez vous passer d'une macro pour cela. Il suffit de mettre votre plage de cellule sous la forme d'un tableau. A chaque enregistrement que vous ajouterez dans votre base, la formule s'imcrémentera automatiquement.
0
J'utilise Excel 2003. Après vérification, les 2000 lignes de calculs ne sont pas la raison du poids de mon fichier.
Donc, je ne pense pas qu'une macro simplifierai le calcul.
Merci de votre aide.
0