Insérer une formule dans une cellule vide

Résolu/Fermé
micboul49 Messages postés 3 Date d'inscription mercredi 20 janvier 2016 Statut Membre Dernière intervention 21 janvier 2016 - 20 janv. 2016 à 21:25
micboul49 Messages postés 3 Date d'inscription mercredi 20 janvier 2016 Statut Membre Dernière intervention 21 janvier 2016 - 21 janv. 2016 à 15:09
Bonjour,
voici mon problème. Je veux que mon code puisse ajouter une formule dans un case précise à chaque fois que celui si ajoute une ligne. Bref tout fonctionne très bien sauf lorsque :
cells(16 + i, 5).Value
ne veut pas prendre ma formule de type String (Erreur 1004, erreur définie par l'objet ou l'application). Après avoir fait plusieurs tests, j'ai remarqué qu'en enlevant le = de ma formule (celui au début) tout marche correctement. Évidement je veux garder ce = puisque c'est lui qui initialise la formule.
Voici la formule en question:
"=SI(" + co_1 + ">0;SOMME(" + co_2 + ":" + co_3 + ");"")"

et le code complet:


Merci !

1 réponse

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
20 janv. 2016 à 21:42
Bonjour,

En VBA les formules sont en anglais, remplace SI par IF et SOMME par SUM cela devrait mieux fonctionner.
1
micboul49 Messages postés 3 Date d'inscription mercredi 20 janvier 2016 Statut Membre Dernière intervention 21 janvier 2016
20 janv. 2016 à 21:53
En fait, ma formule n'est qu'un "Texte" et si je veux qu'elle fonctionne sur ma page Excel, je dois garder les termes en français étant donné que celui-ci est en Français.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
Modifié par gbinforme le 20/01/2016 à 22:38
je dois garder les termes en français
Si tu les mets en anglais, VBA sauras que tu es en français et traduira.

Mais si tu veux les mettre en français pas de souci tu remplaces ta ligne par :
Cells(16 + i, 5).FormulaLocal = "=SI(" & co_1 & ">0;SOMME(" & co_2 & ":" & co_3 & ");"""")"

Comme tu es en texte, il faut remplacer + par & et pour avoir double guillemets, il t'en faut 4.
0
micboul49 Messages postés 3 Date d'inscription mercredi 20 janvier 2016 Statut Membre Dernière intervention 21 janvier 2016
21 janv. 2016 à 15:09
Merci !

Ca a marché :)
0