le code FormulaLocal dans vba

pascal21

XLDnaute Barbatruc
bonsoir
je viens de découvrir pour le vba le code formulaLocal pour inserrer une formule dans un code vba
ma question est-ce que mon classeur serait moins lourd si je remplace les formules qui sont dans les cellules par ce code dans le vba
vaut-il mieux en a1 =somme(a2:a10)
ou alors cells(1,1).FormulaLocal('a2:a10')
je vois pour principal intéret que les formules ne risquent plus de disparaitre à cause d'un mauvais clic sur la mauvais cellule
merci
 

Jacques87

XLDnaute Accro
Bonjour Pascal

L'utilisation de FormulaLocal te permet également de paramétrer tes formules et de ce fait de les utiliser par exemple dans une boucle, alors qu'avec les formules il faudrait les appliquer autant de fois que nécessaire.

Attention, de plus ce code s'écrit de la façon suivante
Cells(1,1).FormulaLocal = '=SOMME(A2:A10)'

Bon courage
 

pascal21

XLDnaute Barbatruc
bonsoir
exact merci d'avoir rectifié l'erreur
donc dans le cas où plusieurs formules identiques sont présentes il vaut mieux utiliser le code
donc en admettant que j'ai une colonne b avec cette formule dans chaque ligne
ex: en b1 =somme(c1:e1)
en b2 =somme(c2:e2)
jusqu'a b15
faut-il recopier le code autant de fois qu'il y a de lignes concernées
ex cells(1,2).formulalocal = '=somme(c1:e1)
cells(2,2).formulalocal = '=somme(c2:e2)
jusqu'a cells(15,2)
comment faire court dans ce cas là

Message édité par: pascal21, à: 06/02/2006 17:48
 

Jacques87

XLDnaute Accro
Pascal

Dans le cas que tu présentes en effet une macro n'est pas pertinente car tes cellules sont dans la même colonne.
En effet tu copies la formule dans la première cellule et tu la tires avec la poignée jusqu'à la dernière

Maintenant cette macro peut être utile si jamais tu désires utiliser cette fonction épisodiquement dans une procédure bien spécifique, et alors pour répondre complètement à ta question tu boucles comme te le propose Pierre Jean
 

Merlinlempaffeur

XLDnaute Nouveau
Bonjour,

Je ressors ce sujet du grenier car la formule de Pierre-Jean m'a bien aidé mais je ne comprends pas bien la syntaxe en vert ci-dessous :
ActiveSheet.Cells(n, 2).FormulaLocal = '=somme(C' & n & ':E' & n & ')'
J'ai parcouru les sites parlants du sujet mais pas moyen de mettre la main sur une explication.

Merci d'avance aux bonnes âmes.

Merlin
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour le fil, Merlin

Merlin
Pour infos
L'usage c'est de créer sa discussion pour créer sa question
(Le cas échéant mettre un lien vers l'ancienne discussion pour sourcer la question actuelle)

Déjà, il y a bug (vu l'anciennété du message)
Tu devrais lire le code ainsi formaté
VB:
Sub test()
For n = 2 To 15
ActiveSheet.Cells(n, 2).FormulaLocal = "=somme(C" & n & ":E" & n & ")"
Next
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 169
Messages
2 085 923
Membres
103 041
dernier inscrit
Ousmane