Formule correcte, mais ecrite de #name? dans la cellule - VB/VBA/VBS - Programmation
Marsh Posté le 19-10-2009 à 09:56:40
BK_Tabelle.Cells(start_ZWI, 8).Formula = "=SUM(H" & (start_ZWI + 1) & ":H" & (Position_Z - 1) & " )" |
J'ai ajouté ".Formula" et ".Calculate".
Peut-être que ".Formula" est par défaut, je ne sais pas. En tous cas, comme il y a "H" au lieu de 8, il faut choisir Formula plutôt que FormulaR1C1.
Ensuite, en mettant "SUMME" ou "SOMME" (j'ai la version française), il met "#NOM?". Alors, j'ai mis "SUM", qui est le mot-clé anglais. D'ailleurs, j'ai déjà remarqué, que dans la partie feuille de calcul, les macros sont traduites, mais qu'en VBA, c'est l'anglais qui est préféré.
Marsh Posté le 22-12-2009 à 11:09:25
vedammi a écrit : merci beaucoup, ca fonctionne |
Hello,
malgré ces conseils, je ne parvient pas à activer ma formule.
Voilà mon code :
Formule = "=SOMME(L" & FirstLigneFeuille1 & "C" & ColChargeTotale & ":L" & Es_Ligne - 1 & "C" & ColChargeTotale & " )"
ES_Feuillet.Cells(Es_Ligne, ColChargeTotale).FormulaR1C1 = Formule
ES_Feuillet.Cells(Es_Ligne, ColChargeTotale).Calculate
Résultat :
#NOM? avec le contenu suivant : =SOMME('L9C3':'L25C3')
==> il me flanque forcément des quotes ??!!
quelque peut m'aider car là, je sèche.
Tonio
Marsh Posté le 22-12-2009 à 14:00:41
Neo_Tonio a écrit : |
Hello
Bon, et bien on vient de me donner la réponse : il faut écrire la formule en anglais .... mais partout !! Et donc remplacer le L(igne) par un R(ow).
Et voilà ...
Marsh Posté le 24-12-2009 à 09:40:39
En fait en VBA Excel, il existe 2 types de fonctions "Formule" : les "locales" et les standard (comprendre : "en anglais" ).
En utilsant les version "standard", il faut mettre les formules pour la langue native et la syntaxe ( la "," pour séparer les paramètres, ...) alors qu'en FormulaLocal, il faut la syntaxe propre à la version Excel (Française, Allemande, ...)
Cordialement,
Marsh Posté le 19-10-2009 à 08:36:13
Bonjour, je fais en ce moment un programme pour le calcul de couts de fonctionnement de stations d'épuration.
mon programme demande donc a l'utilisateur de cocher les consommateurs de courant présents, puis fait la somme pour chaque partie.
mon problème, c'est que lors de l'écriture de la somme ou des sommes intermédiaires, #NAME? apparaît dans la cellule.
La formule est correcte, étant donné que lorsque je double clique dans la cellule et fait entrée, il écrit cette fois le résultat.
j'ai essayé d'enregistrer une macro depuis excel, mais il me sort une formule du type
ActiveCell.FormulaR1C1 = "=SUM(R[-18]C:R[-16]C)"
or quand j'ai essayé dans VB, la formule ne fonctionne pas avec des variables à la place des nombres
ma ligne de code actuelle est la suivante:
BK_Tabelle.Cells(start_ZWI, 8) = "=SUMME(H" & (start_ZWI + 1) & ":H" & (Position_Z - 1) & " )"
il y a écrit SUMME parce que je travaille sur une version allemande.
Si vous avez une idée, merci de votre aide