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

  • Initiateur de la discussion Initiateur de la discussion tinet
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.😕
 
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 ...
 
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)"
 
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+
 
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 😛

Bonne fin de journée,
Amicalement,
Lionel,
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
284
  • Question Question
Microsoft 365 macro vba sumifs
Réponses
5
Affichages
597
Retour