Formule correcte, mais ecrite de #name? dans la cellule

Formule correcte, mais ecrite de #name? dans la cellule - VB/VBA/VBS - Programmation

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

Reply

Marsh Posté le 19-10-2009 à 08:36:13   

Reply

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) & " )"  
BK_Tabelle.Cells(start_ZWI, 8).Calculate


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é.


Message édité par olivthill le 19-10-2009 à 09:57:15
Reply

Marsh Posté le 19-10-2009 à 10:44:52    

merci beaucoup, ca fonctionne

Reply

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

Reply

Marsh Posté le 22-12-2009 à 14:00:41    

Neo_Tonio a écrit :


 
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


 
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à ... :d

Reply

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,

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed