Synthèse pour les formules (Ex: Sum(X:Y)*cELLULE(z,t)

Bonjour,

je souhaite effectuer un calcul dans une cellule. Le calcul est composé d 'une somme de cellules et de multiplier cette somme par une autre celllule.

Mon problème est un problème de syntaxe. Comment associer un Sum avec Product ?

Le code est le suivant :

Sheets("Feuil1").Cells(x, y).Formula = "=SUM("H8:H15)"

Jusque là c'est ok. Mais si je souhaite multiplier la somme par la valeur d'une autre cellule, là cela coince !!!!

Exemple : Sheets("Feuil1").Cells(x, y).Formula = "=SUM("H8:H15)" * Cells(z, t).value ou autre formulation

J'ai essayé différentes syntaxe mais sans succès.

Pourriez vous m'aider ? Par avance merci et bonne soirée

Bonsoir,

Pourquoi ne pas mettre la formule dans la cellule ?

Bonsoir,

oui si je voulais faire un simple fichier Excel. Mais le fichier comporte de nombreuses autres fonctionnalités qui nécessitent VBA.

Si je me contente d'une simple formule Excel, je perds tous les autres avantages d'un calcul qui évolue selon de nombreux paramètres.

De plus, cette solution me permet de recopier la formule VBA à différents endroits et donc d'éviter tous risque d'erreur de calculs. Par exemple, la somme est variable selon différents critères. Parfois somme de 3 lignes parfois 25.

Je ne trouve jamais (sauf très rares exceptions) que mettre des formules avec VBA soit une bonne utilisation de VBA.

Une formule est faite pour renvoyer un résultat là où on la met. Si on est conduit à utiliser VBA pour renvoyer ce résultat, pourquoi encore un intermédiaire supplémentaire, on met le résultat !

Avis partagé, mais n'étant pas un spécialiste du VBA, je souhaite éviter d'avoir à lancer la macro après chaque changement de la structure (Le nombre de lignes à sommer dépend de différents critères et évolue)

Les données sont très dynamiques et idéalement l'utilisateur veut un résultat en temps réel, sans avoir à relancer la macro.

Autrement dit, l'utilisateur lance la macro qui permet de structurer les calculs (ce qui permet de poser les bonnes formules aux bons endroit) puis fait la saisies des valeurs et pour pouvoir ajuster les valeurs saisies veut un résultat sans avoir à relancer la macro pour recalculer les sommes à chaque saisie.

Les calculs sont donc dynamiques.

Si il existe un moyen de rendre dynamique les calculs sans avoir à relancer la macro à chaque saisie, je suis très preneur.

Il est des macros qui peuvent se lancer automatiquement à partir d'évènements...

Mais si je comprends bien tu veux une formule dynamique, et utiliser VBA pour la rendre dynamique.

C'est un cas à étudier ! Mais pour définir le code qui fonctionnera dans tous les cas, il faut que lesdits cas soient prédéfinis ou que l'on ait des critères précis de variation.

Dans l'immédiat, tu te heurtais à un simple problème de syntaxe : tu insères une formule, soit une chaîne de caractère commençant par = et écrite comme une formule dans la feuille, ça marche, et tu la prolonges en ne l'écrivant plus comme une formule, ça ne fonctionne plus, normal ! il faut continuer à l'écrire comme formule...

Les parties invariantes de la formule sont saisies "en dur", soit constituées par du texte entre guillemets qui sera rreproduit tel quel, les éléments variables sont introduits soit au moyen de variables, soit en utilisant des expressions qui les renvoient, ne sont pas dans les parties entre guillemets mais y sont raccordés par concaténation (utilisant l'opérateur &), de façon que la chaîne finale insérée soit conforme à la formule qu'elle veut être...

Cela dit, rien n'indique que varier la formule sera ce qui convient le mieux, les méthodes sont diverses et on peut faire varier quantité d'autres éléments.

Cordialement.

Rechercher des sujets similaires à "synthese formules sum"