synthétiser le module1 FormulaLocal="=sommeprod

fred94000

XLDnaute Junior
Bonsoir le forum et tout le monde?

Comme l'indique son intitulé, pourriez vous m'aider à synthétiser et rendre plus rapide l’exécution.
je vous joins un fichier

dans l'attente merci
 

Pièces jointes

  • Test.xls
    97.5 KB · Affichages: 30
  • Test.xls
    97.5 KB · Affichages: 36
  • Test.xls
    97.5 KB · Affichages: 37

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : synthétiser le module1 FormulaLocal="=sommeprod

Bonsoir fred94000,

1) on modifie la formule en B4 de la feuille Mensuel pour que cette formule puisse être copier vers la droite et vers le bas dans l'ensemble du tableau. Notez l'usage des $ pour désigner une plage fixe (les plages de la feuille BD) ou bien l'usage des $ pour laisser fixe soit une colonne ($A4) soit une ligne (B$3) dans une formule permettant la recopie de la formule à droite et vers le bas.
Code:
=SOMMEPROD((MOIS(BD!$B$2:$B$65536)=MOIS($A4))*(ANNEE(BD!$B$2:$B$65536)=ANNEE($A$1))*(BD!$G$2:$G$65536=B$3))

2) au lieu de faire le sommeprod sur l'ensemble de la colonne, on ne fait le sommeprod que de la cellule B2 à la dernière cellule remplie de la base de données (Feuille BD colonne B)

donc:
a) on bloque l'actualisation de l'écran.
b) on calcule le numéo de la dernière ligne de données (N)
c) on construit la formule de B4.
d) on place dans B4 la formule.
e) on copie B4 et on fait un collage spécial formule dans tout le tableau.
f) on remplace les formules par leurs valeurs (facultatif)

+ un format de cellule personnalisé pour le tableau 0;0;;@ qui n'affiche pas les valeurs nulles.

Pour la feuille Annuel, j'ai juste modifié la formule en B3 pour qu'elle puisse être recopiée vers le bas. Je n'ai pas modifié le code. Il sera analogue au code MaJ().
 

Pièces jointes

  • synthétiser le module1 v1.xls
    69 KB · Affichages: 33
Dernière édition:

fred94000

XLDnaute Junior
Re : synthétiser le module1 FormulaLocal="=sommeprod

bonjour le forum et tout ces VBAistes,
pour finir j'ai choisi la méthode GELINOTTE.

ma nouvelle question est : quelle serait le code VBA si cela aurai été l'inverse.
je vous joins un fichier test2

dans l'attente merci encore
 

Pièces jointes

  • test2.xls
    67 KB · Affichages: 37
  • test2.xls
    67 KB · Affichages: 39
  • test2.xls
    67 KB · Affichages: 40

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16