Bonjour,
Je cherche tout simplement à insérer une formule dans une cellule en VBA.
Sans faire de copier/coller d'une cellule déjà existante mais en specifiant la formule "en dur".
Merci d'avance pour votre aide.
jeff
Version imprimable
Bonjour,
Je cherche tout simplement à insérer une formule dans une cellule en VBA.
Sans faire de copier/coller d'une cellule déjà existante mais en specifiant la formule "en dur".
Merci d'avance pour votre aide.
jeff
Voila a toi de t'inspirer lolCode:
1
2
3 Sub test() cells(1,1).FormulaLocal="=Somme(A2:B2)" End Sub
Merci mais je pense que je dois avoir une erruer au niveau de ma formule.
Voici ma formule "brute" telle que saisie directement dans la feuille Excel :
Voici la même telle que je l'ai formaté ds mon code VBA (je suis dans le cadre d'une boucle):Code:=IF(E4="";"";CONCATENATE(F4;" - ";N4))
Ma ligne de code complète :Code:=IF(E" & i & "="""";"""";CONCATENATE(F" & i & ";" - ";N" & i & "))
A l'execution je me prend un Error Type Mismatch.Code:Cells(i, 1).FormulaLocal = "=IF(E" & i & "="""";"""";CONCATENATE(F" & i & ";" - ";N" & i & "))"
Kékivapa ?:cry:
Je vais (un peu) dévier du sujet mais...
N'est-il pas plus simple de rentrer une fois la formule (et donc pas besoin de variable) et de faire un FillDown après?
Il vaut mieux laisser faire à Excel ce pour quoi il est fait et faire en VBA ce qu'Excel ne fait pas.
Effectivement c'est une solution à retenir sauf que je n'arrive tjrs pas à juste copier ma formule.
Essaye donc, en dehors de toute boucle:
Edit --> Désolé, posté sans tester. Voici la bonne syntaxe:Code:Cells(1, 1).Formula = "=IF(E4="","",CONCATENATE(F4," - ",N4))"
Code:Cells(1, 1).Formula = "=IF(E4="""","""",CONCATENATE(F4,"" - "",N4))"
Arghhhh ça marche ...
Et je viens de voir pourquoi.
Je n'avais pas "double-quoté" au niveau de :Merci pour ton aide !Code:"" - ""