aide pour écrire une formule en résultats en VBA

tinet

XLDnaute Impliqué
bonjour le forum,

Mon fichier contient trop de formule, il faut que je modifie les formules par le résultat.
Donc, je voudrais savoir s'il est relativement simple d'écrire une formule en résultats.

j'avais utilisé l'enregistreur de macro pour convertir ma formule en VBA.
cette formule est recopiée dans la colonne à la suite. (sur 3000 lignes)
cela devient un peu long

Voici ma formule originale dans la cellule.
=NB.SI.ENS($B:$B;">="&Base!$I$1;$B:$B;"<="&Base!$L$1;$E:$E;$E2;$I:$I;J$1)

voici maintenant le résultat en VBA
Range("J2:J" & Cells(Rows.Count, 1).End(xlUp).Row).Formula = "=COUNTIFS(C2,"">=""&Base!R1C9,C2,""<=""&Base!R1C12,C5,RC5,C9,R1C)"

merci de votre aide.
J'ai d'autres formules, donc il faut que je comprenne.:confused:
 

st007

XLDnaute Barbatruc
Re : aide pour écrire une formule en résultats en VBA

Bonjour,

je serai tenté de dire que tu attaque des matricielles, donc délai de calcul,
le .Formula n'apporte rien, .Value non plus d'ailleurs, envisager les tableaux virutels ou les boucles ...
 

st007

XLDnaute Barbatruc
Re : aide pour écrire une formule en résultats en VBA

re,
tu rempli la colonne J avec une formule jusqu'à la dernière ligne de la colonne A (génial, environs 3000 lignes)
et ta formule porte sur des colonnes complète (drôle d'idée)

passe par
set dligne = Cells(Rows.Count, 1).End(xlUp).Row)
puis genre : Range("J2:J" & dligne).Formula = "=COUNTIFS("B2:B"&dligne,"">=""&Base!R1C9,"B2:B"&dligne,""<=""&Base!R1C1 2,"E2:E"&dligne,RC5,"I2:I"&dligne,R1C)"
 

Paf

XLDnaute Barbatruc
Re : aide pour écrire une formule en résultats en VBA

Bonjour tinet, st007,

Mon fichier contient trop de formule, il faut que je modifie les formules par le résultat.

Si je comprend bien cette demande, il s'agit de remplacer les formules existantes par leur résultat (issu d'un traitement VBA ?) afin de gagner du temps .

Mais alors pourquoi vouloir utiliser ce genre de code:Range("J2:J" & Cells(Rows.Count, 1).End(xlUp).Row).Formula = "=COUNTIFS(C2,"">=""&Base!R1C9,C2,""<=""&Base!R1C1 2,C5,RC5,C9,R1C)" qui ne fait que remplacer la formule existante par la même formule ?

Est ce la duplication manuelle de la formule qui est long ? ou la mise à jour des résultats ?

S'il fallait entreprendre un traitement VBA, il faudrait un classeur contenant des données non confidentielles pour commencer à y réfléchir.

A+
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : aide pour écrire une formule en résultats en VBA

Bonjour à toutes et à tous,

J'ai peut-être un code (pas de moi LOL) qui répond peut-être dans le principe à la question.
Si j'ai bien compris, il s'agit d'afficher un résultat sans formule mais par macro ?
Donc, peut-être classeur joint ?

On peut aussi inclure un petit code pour, après avoir intégré la formule dans le code, copier vers le bas et ensuite copier la plage en valeur.
Avec l'enregistreur de macros c'est très simple. (voir feuille "aujourdhui") .... LOL bon maintenant, si ceux qui n'y connaissent rien s'y mettent, ou va-t-on :p

Bonne fin de journée,
Amicalement,
Lionel,
 

Pièces jointes

  • 01 Formule dans macro.xlsm
    67.1 KB · Affichages: 45
Dernière édition:

Discussions similaires

Réponses
12
Affichages
253
Réponses
5
Affichages
406

Membres actuellement en ligne

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 535
dernier inscrit
moimeme1