Appliquer une formule sur une plage de cellule grâce à une macro

Kaltral

XLDnaute Nouveau
Bonjour nouvelle question

Je vous explique mon cas:

Dans un fichier excel, je récupère des données dans d'autres fichiers et selon plusieurs variables (Nom de la personne, Mois de l'année, Type de produit, etc.)

Je vous donne l'exemple d'une formule :
=SOMMEPROD((MOIS('[Suivi taux de transformation banque.xls]Suivi'!$I$5:$I$20000)=MOIS($A$1))*(ANNEE('[Suivi taux de transformation banque.xls]Suivi'!$I$5:$I$20000)=ANNEE($A$1))*('[Suivi taux de transformation banque.xls]Suivi'!$A$5:$A$20000=B5)*(NON(ESTVIDE('[Suivi taux de transformation banque.xls]Suivi'!$E$5:$E$20000))))

Cette formule est appliquée sur plusiers plages de cellules (exemple : E5:E12, E14:E25, etc.) et plusieurs onglets (Janvier à Décembre)

Ma question : Une macro pourrait-elle appliquer cette formule sur les différentes plages de cellules et les différents onglets où elle doit être appliqué ? Si oui quelle est cette macro

Merci d'avance pour vos réponses

Kaltral

Ps vous trouverez un fichier en PJ
 

Pièces jointes

  • Taux de transformation.zip
    39.8 KB · Affichages: 44
  • Taux de transformation.zip
    39.8 KB · Affichages: 48
  • Taux de transformation.zip
    39.8 KB · Affichages: 48

Roland_M

XLDnaute Barbatruc
Re : Appliquer une formule sur une plage de cellule grâce à une macro

bonjour

Eviter des formules trop longues, mettre dans une feuille données les noms différents afférent aux formules
Nommer les cellules pour être clair ! EXEMPLE pour deux formules (et voir pour d'autres formules s'il y a ces répétitions !?)

Nommer la cellule(A1) >CellPath< et y coller le chemin
>C:\Documents and Settings\Anthony\Mes documents\Boulot\[Objectif annuel.xls]Synthèse annuelle<

Nommer la cellule(A2) >CellSuivi< et y coller >[Suivi taux de transformation banque.xls]Suivi<

Attention à ne pas mettre le signe ( ' ) car il ne serait pas lu ! il faut les mettre dans les formules !

Résultat:
=SI(E11="";"";RECHERCHEV(B11;'CellPath'!$A$5:$M$39;6)) ... au lieu de ...
=SI(E11="";"";RECHERCHEV(B11;'C:\Documents and Settings\Anthony\Mes documents\Boulot\[Objectif annuel.xls]Synthèse annuelle'!$A$5:$M$39;6))

=SI(SOMMEPROD((ANNEE('CellSuivi'!$J$5:$J$2000)=ANNEE($A$1))*('CellSuivi'!$A$5:$A$2000=B11)*(NON(ESTVIDE('CellSuivi'!$E$5:$F$2000))))=0;"";SOMMEPROD((ANNEE('CellSuivi'!$J$5:$J$2000)=ANNEE($A$1))*('CellSuivi'!$A$5:$A$2000=B11)*(NON(ESTVIDE('CellSuivi'!$E$5:$F$2000)))))
au lieu de:
=SI(SOMMEPROD((ANNEE('[Suivi taux de transformation banque.xls]Suivi'!$J$5:$J$2000)=ANNEE($A$1))*('[Suivi taux de transformation banque.xls]Suivi'!$A$5:$A$2000=B11)*(NON(ESTVIDE('[Suivi taux de transformation banque.xls]Suivi'!$E$5:$F$2000))))=0;"";SOMMEPROD((ANNEE('[Suivi taux de transformation banque.xls]Suivi'!$J$5:$J$2000)=ANNEE($A$1))*('[Suivi taux de transformation banque.xls]Suivi'!$A$5:$A$2000=B11)*(NON(ESTVIDE('[Suivi taux de transformation banque.xls]Suivi'!$E$5:$F$2000)))))

c'est tout même plus court et plus lisible !

Roland
 

Roland_M

XLDnaute Barbatruc
Re : Appliquer une formule sur une plage de cellule grâce à une macro

bonjour

je ne comprends pas très bien !?
toutes tes feuilles sont identiques ?
toutes les formules sont identiques !
excepté la date en haut des feuilles mois !

alors pourquoi ne faire une copie de la première feuille, ceci 12 fois, et que tu renommes JANV FEVR MARS ....

sinon veux tu expliquer un peu plus en détails ce que tu souhaites ?

Roland
 

Kaltral

XLDnaute Nouveau
Re : Appliquer une formule sur une plage de cellule grâce à une macro

Bonjour,

Cette copie a déjà été faite, j'ai exactement les memes tableau sur 12 onglets différents (Janvier à décembre) mais j'ai envoyé un fichier excel réduit avec seulement 2 mois car la taille été trop imposante pour le forum

Ce que je souhaite exactement :

Une macro pourrait-elle appliquer une formule sur les différentes plages de cellules et les différents onglets où elle doit être appliqué ?

Ceci me permettant d'alléger le fichier en saisie de formules et essayer d'améliorer la rapidité de traitement de ces mêmes formules

Si appliquer une macro me permettrait d'appliquer une formule sur 25 celluless ça pourrait être plus intéressant qu'une formule répété 25 fois

Ma question est juste dans un soucis pratique d'allégement du fichier et d'améliorer la rapidité d'exécution des formules

Merci d'avance
 

jeanpierre

Nous a quitté
Repose en paix
Re : Appliquer une formule sur une plage de cellule grâce à une macro

Bonsoir à tous,

Pas sur qu'une macro puisse alléger....

Un peu, peut-être, mais souvent au détriment du temps de traitement.

Plus les calculs sont compliqués, plus ils sont long avec ou sans macro.

Je ne sais en dire plus.

Bonne soirée.

Jean-Pierre
 

Kaltral

XLDnaute Nouveau
Re : Appliquer une formule sur une plage de cellule grâce à une macro

Donc macro ou pas

ça ne change pas, pour moi une macro permettait d'alléger un fichier et la rapidité du traitement

Mais si ça ne change rien alors autant garder ce que j'ai fait tel quel

Merci à tous de vos réponses

Kaltral
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 611
Messages
2 090 226
Membres
104 452
dernier inscrit
hamzamounir