Recalcul de Cellule [Résolu]

Signaler
Messages postés
29
Date d'inscription
mardi 29 novembre 2005
Statut
Membre
Dernière intervention
17 janvier 2014
-
Messages postés
16040
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 juin 2021
-
Bonjour à Tous,

Habituellement, je trouve toujours des solutions à mes problèmes en farfouillant sur le site ou ailleurs, mais là je suis en rade complet.

Voici la partie de ma macro qui pose problème
Range("AB25").Select
ActiveCell.Formula = "=Somme(Somme(Z24:Z25)-Somme(Y24:Y25))"

mais la case n'est pas recalculé à la sortie et affiche #NOM?.
Par contre une fois la macro arrêtée, un F2 + Entrée actualise bien la valeur dans la case.

J'ai essayé la solution d'ajouter un Calculate ou de faire un changement de symbole par
ActiveCell.Replace "=", "µµµ", xlPart
ActiveCell.Replace "µµµ", "="
ou d'utiliser les fonctions
Application.Calculation = xlCalculationManual
Application.Calculation = xlCalculationAutomatic


Rien ni fait, alors si vous avez d'autres pistes je suis preneur.

Merci de votre aide et meilleurs voeux pour cette nouvelle année.
PAB

--

2 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Bonjour,
Par ailleurs (en plus, donc, de ce sont a parlé Wismeril, que je salue)
L'utilisation de la propriété Formula appelle la notation anglaise (SUM et non SOMME)

PS : on ne répètera jamais assez, enfin, qu'il est toujours lourdaud et maladroit de travailler à coups de "select", activecell, etc ...
Et donc (conjugaison des deux remarques), ton :
Range("AB25").Select
ActiveCell.Formula = "=Somme(Somme(Z24:Z25)-Somme(Y24:Y25))"
est tout bêtement à écrire ainsi :

Range("AB25").Formula = "=SUM(Z24:Z25)-SUM(Y24:Y25)

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Messages postés
29
Date d'inscription
mardi 29 novembre 2005
Statut
Membre
Dernière intervention
17 janvier 2014

Merci, c'était tout simple.
Effectivement en changeant somme pour sum, le problème est réglé.
Vraiment parfois je cherche trop loin.

Merci aussi à Whismeril pour sa remarque.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Lis quand-même mon post-scriptum (rédigé après ta réponse)
Messages postés
29
Date d'inscription
mardi 29 novembre 2005
Statut
Membre
Dernière intervention
17 janvier 2014

Exact, merci.
Messages postés
16040
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 juin 2021
551
Bonsoir, Uc!
Messages postés
16040
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 juin 2021
551
Bonsoir, je suis loin de maitriser VBA, mais il me semble qu'il faut soit un range soit deux arguments à Somme, or dans
=Somme(Somme(Z24:Z25)-Somme(Y24:Y25))


Somme(Z24:Z25)-Somme(Y24:Y25)
étant le résultat d'une soustraction, c'est un nombre et donc un seul argument.


Si tu veux additionner les 2 zones ceci devrait marcher (je n'ai pas essayé)
=Somme(Z24:Z25 ; Y24:Y25)

ou même
=Somme(Z24 ; Z25 ; Y24 ; Y25)
puisque tes 2 zones font 2 cases chacune
voire même
=Somme(Z24:Y25)


Penser aux balises de coloration syntaxique: bouton <>, préciser le langage :<code csharp>.
Quand la solution est trouvée, mettre la discussion Résolue.