Lancer une formule depuis une macro

NICOALBERT

XLDnaute Occasionnel
Bonjour le Forum ,

Je suis en cours de me réaliser une base de donnée avec une feuille de synthèse .

Je me retrouve avec énormément de Formule qui m'alourdie la feuille , ce que je cherche à faire c'est depuis une macro lancer ce genre de formule :


=SOMMEPROD(('[Base complète.xlsx]Lieu'!$C$2:$C$20000="*2012_2013*")*('[Base complète.xlsx]Lieu'!$E$2:$E$20000=$G$3)*'[Base complète.xlsx]Lieu'!$A$2:$A$20000)

j'ai tenter avec la création de macro automatique mais j'ai un bugue .

Est ce que quelqu'un à une idée ?

Merci d'avance .

Cdlt Nicoalbert .
 

NICOALBERT

XLDnaute Occasionnel
Bonsoir vgendron , le forum .

En fait , je part d'une page sans formule et en appuyant sur un bouton la macro se lance et me met dans la cellule prévue la formule et fait le calcul .

Ensuite je ferais une petite macro avec "copier/coller que la valeur" et de ce fait la page n'aura plus de formule donc plus légère à traiter.

Cdlt nicoalbert
 

Theze

XLDnaute Occasionnel
Bonjour,

Si tu veux connaître la formule en Anglais d'une formule en Français, tu sélectionnes la cellule contenant la formule et dans la fenêtre d'exécution du VBE (combinaison de touche Ctrl+G) tu inscrit cette instruction :
Code:
?ActiveCell.Formula
et appui sur la touche Entrée et tu auras ceci comme résultat au dessous :
Code:
=SUMPRODUCT(('[Base complète.xlsx]Lieu'!$C$2:$C$20000="*2012_2013*")*('[Base complète.xlsx]Lieu'!$E$2:$E$20000=$G$3)*'[Base complète.xlsx]Lieu'!$A$2:$A$20000)
Le mieux est tout simplement d'entrer directement le résultat dans la cellule plutôt que d'entrer la formule puis faire un ActiveCell.Value = ActiveCell.Value <--- cette instruction supprime la formule et ne garde que la valeur donc pas de Copier/Coller
 

Discussions similaires

Réponses
8
Affichages
356
Réponses
12
Affichages
230

Statistiques des forums

Discussions
312 104
Messages
2 085 332
Membres
102 864
dernier inscrit
abderrashmaen