Calcul de formule

Résolu
mfaure Messages postés 48 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 22 septembre 2011 - 22 sept. 2011 à 12:18
mfaure Messages postés 48 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 22 septembre 2011 - 22 sept. 2011 à 13:08
Bonjour à tous,

je suis en train d'écrire un code qui sur une feuille génère une formule de calcul, relative à une autre, de cette façon :
MaFeuille.Cells(i, 2).FormulaR1C1 = "=COUNT('" & AutreFeuille & "'!A:A)"
La formule s'écrit sans soucis, sauf que lorsque, par le biais du code, j'ajoute des données dans la colonne A de AutreFeuille, le résultat de la formule reste désespérément à 0. Si manuellement, je rentre dans la cellule, puis revalide avec "entrée", le résultat s'affiche.
Alors j'ai essayé les "application.calculate", "application.volatile", "mafeuille.calculate", mais rien n'y fait.
C'est d'autant plus étrange que j'ai une formule similaire (avec countif) sur une autre feuille qui elle, ne me pose aucun problème
Si quelqu'un à une idée, je prends !
Merci beaucoup d'avance !

Maxime

6 réponses

mfaure Messages postés 48 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 22 septembre 2011
22 sept. 2011 à 12:59
Rebonjour,

je viens en fait de trouver la solution au problème.
Lors de l'écriture de la formule par le code, il ne faut pas mentionner A:A, mais C1. Car si A:A écrit la formule correctement, elle est en revanche juste considérée comme une chaine de caractère. Le C1 (pour indiquer colonne n°1) est donc la bonne façon d'écrire la formule !

Merci pour ton aide, bonne journée !

Maxime
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 sept. 2011 à 12:28
Bonjour,

je comprends avec peine ce que tu veux dire.
Question : quel est la valeur, à ce moment-là, de Application.screenupdating ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 sept. 2011 à 12:31
et :
sauf que lorsque, par le biais du code, j'ajoute des données dans la colonne A de AutreFeuille, le résultat de la formule reste désespérément à 0

Peut-on voir la/les ligne(s) de code relative(s) à cet ajout par code ?

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
mfaure Messages postés 48 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 22 septembre 2011
22 sept. 2011 à 12:53
Bonjour, et merci pour ta réponse.

je ne connais pas (et donc n'utilise pas) la fonction Application.screenupdating.
l'ajout de données sur autre feuille est très simple, c'est du :
Sheets.Item(NomdeFeuille).Cells(i, 4).Value = valeur
avec le i qui est incrémenté dans une boucle.
je précise que dans la colonne A, seulement des chiffres sont insérés (au format excele "nombre").
Peut être est-ce un peu plus clair ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 sept. 2011 à 12:58
Alors ajoute après :
Sheets.Item(NomdeFeuille).Cells(i, 4).Value = valeur 

ceci :
MaFeuille.Cells(i, 2).value =  MaFeuille.Cells(i, 2).value

Aussi étonnant que cela puisse te paraître, en prenant soin de ce que Mafeuille soit la feuille qui contient les formules .
Essaye et dis

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
mfaure Messages postés 48 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 22 septembre 2011
22 sept. 2011 à 13:08
Je viens d'essayer la méthode que tu me proposais, mais le résultat est le même. Cela vient donc bien de la façon d'écrire la formule.
Merci cependant de la combine, ça peut être utile dans d'autre cas, je n'y avais jamais pensé !
Bonne fin de journée !
Maxime
0
Rejoignez-nous