formule a appliquer en VBA - resultat visible - sur N ligne

VBA_DEAD

XLDnaute Occasionnel
bonjour
j`espere que vous allez bien sur le forum!

j`ai un probleme de fichier avec trop de formule - le fichier ne supporte pas.

je fais des calculs sur 60 colonnes et entre 5000 et 25000 lignes - c`est pour une simulations.
comme le fichier ne digere que tres difficilement les donnees, je cherche une macro qui me permette de coller la formula (le resultat du calcul seulement) ds les cellules ou j`ai un chiffre ds la ligne 7 (mes 60 colonnes) et un chiffre ds la zone C11:C50000

j`ai 2 formules comme indique ds l`exemple
1 formule pour une colonne et la deuxieme formule pour la colonne suivante et on continue ainsi colonne apres colonne.

J`aimerai pouvoir donc pouvoir mettre la formule ds une cellule particuliere (E2 et E3) et la macro va coller / fait le calcul pour chaque cellule (60 colonnes + n lignes)

est ce que vous savez faire cela? je veux pas mettre la formule ds le code car comme vous allez voir , elle est enorme!

merci pour votre aide

vba_dead
 

Pièces jointes

  • macro_formule.xlsx
    11.1 KB · Affichages: 48

VBA_DEAD

XLDnaute Occasionnel
Re : formule a appliquer en VBA - resultat visible - sur N ligne

bonsoir,

je ne vois pas de liaise ds le fichier.
j`utilise des fonction de SIMTOOL.xmla donc peut etre que ca cree un probleme.
je veux bien mettre un fichier avec une formule "=C11*2" ds la cellule E2 si ca aide.


ci-joint un fichier

je suis flexible sur ou mettre la formule - je peux mettre la formule ds chaque colonne ds la ligne 11

l`idee est que la macro fasse descendre la formule sur n lignes en ayant juste le resultat ds chaque cellule
donc avoir la formule ds chaque colonne ligne 11 me va tres bien

merci

vba_dead
 

Pièces jointes

  • macro_formule2.xlsx
    9 KB · Affichages: 45

JCGL

XLDnaute Barbatruc
Re : formule a appliquer en VBA - resultat visible - sur N ligne

Bonjour à tous,

Pas certain d'avoir bien compris la demande.
Tester sur 60 valeurs en colonnes (soit 120 colonnes) et 5 000 lignes :
  • 120 secondes avec la coloration
  • 60 secondes sans la coloration
A+ à tous
 

Pièces jointes

  • JC Macro Formule.xlsm
    28.3 KB · Affichages: 47

VBA_DEAD

XLDnaute Occasionnel
Re : formule a appliquer en VBA - resultat visible - sur N ligne

bonjour
je te remercie de m`aider.

j`ai regarde et c`est pas tout a fait cela. Tu fais des calculs ds le code macro.
ce que j`aimerai faire est d`avoir ma formule en E2 ou F8 par exemple et la macro copie-colle la formule en ne renvoyant que le resultat.
si tu vois mon premier fichier, ma formule est enorme donc en manuel, l`ordinateur crashe.

donc j`aimerai juste copier-coller la formule et au-lieu d`avoir la formule, il me faut le resultat (value)

aujourd`hui tu fais cela:
.Value = Cells(Lig, 3).Value * Cells(2, 5).Value

Il me faudrait
. value = formule definie en E2 ou F8 par exemple

la formule est la suivante:

=IF($R40="Reject","",
IF(AND(SUMPRODUCT(PRODS($C40:$M40),PRODS(OFFSET(INDEX(Correlation_All!$A:$A,MATCH(U$36,Correlation_All!$A:$A,0)),2,2,,):OFFSET(INDEX(Correlation_All!$A:$A,MATCH(U$36,Correlation_All!$A:$A,0)),2,12,,)),OFFSET(INDEX(Correlation_All!$A:$A,MATCH(U$36,Correlation_All!$A:$A,0)),4,2,,):OFFSET(INDEX(Correlation_All!$A:$A,MATCH(U$36,Correlation_All!$A:$A,0)),14,12,,))^0.5>=INDEX($P$11:$P$17,MATCH($P$8,$O$11:$O$17,0)),
SUMPRODUCT(PRODS($C40:$M40),PRODS(OFFSET(INDEX(Correlation_All!$A:$A,MATCH(U$36,Correlation_All!$A:$A,0)),2,2,,):OFFSET(INDEX(Correlation_All!$A:$A,MATCH(U$36,Correlation_All!$A:$A,0)),2,12,,)),OFFSET(INDEX(Correlation_All!$A:$A,MATCH(U$36,Correlation_All!$A:$A,0)),4,2,,):OFFSET(INDEX(Correlation_All!$A:$A,MATCH(U$36,Correlation_All!$A:$A,0)),14,12,,))^0.5<=INDEX($Q$11:$Q$17,MATCH($P$8,$O$11:$O$17,0))),
SUMPRODUCT(PRODS($C40:$M40),PRODS(OFFSET(INDEX(Correlation_All!$A:$A,MATCH(U$36,Correlation_All!$A:$A,0)),2,2,,):OFFSET(INDEX(Correlation_All!$A:$A,MATCH(U$36,Correlation_All!$A:$A,0)),2,12,,)),OFFSET(INDEX(Correlation_All!$A:$A,MATCH(U$36,Correlation_All!$A:$A,0)),4,2,,):OFFSET(INDEX(Correlation_All!$A:$A,MATCH(U$36,Correlation_All!$A:$A,0)),14,12,,))^0.5,
""))


j`essaie de coller le resultat de la formule ci-dessus ds chaque cellule pour les colonnn F / H / J / L....

bref je veux pas la formule ds le code (car elle est enorme) - je mets la formule ds une cellule et la macro la met ds les colonnes F / H / J / L sur chaque ligne ou il y a un chiffre en colonne C


j`espere etre plus clair
merci



vba_dead
 

VBA_DEAD

XLDnaute Occasionnel
Re : formule a appliquer en VBA - resultat visible - sur N ligne

bonjour,
Ah oui, ca y est , je vois.
Tu as raison, la macro a l'air de tourner. ca me renvoie value ce qui est correct car il manque des donnees ds le fichier que j`ai joint.

je vais tester cela ce soir sur le bon fichier (tres gros fichier) pour voir si ca marche bien.
je vais devoir adapter car la colonne commence en T et le nombre de lignes est sur la zone B35:B25035

en tout cas merci pour ton aide.

je te reviens ce soir (vers 11 heures) pour te dire si ca marche bien ou pas ;)

merci a toi pour ton aide
bonne apres midi

VBA_DEAD
 

VBA_DEAD

XLDnaute Occasionnel
Re : formule a appliquer en VBA - resultat visible - sur N ligne

bonsoir
j`y suis Presque mais ca me renvoie zero ds tous les cas donc je dois avoir un petit probleme d`adaptation de macro
c`est ma faute je pense.

J`ai fait un exemple avec le minimum de donnees avcec les colonnes et lignes exactement ou elles sont en reel.

les formules doivent aller en T, V, X... et U, W, Y...

encore merci et desole mais ca fait 2 heures que j`y suis. j`ai adpate un peu mon file pour tenir compte de ta function effacement
Range("t36").CurrentRegion.Clear


ensuite je pense que ca se colle au bon endroit sauf erreur mais je me demande si je me plante pas quand je colle les formule qui sont en T31 et U31

est ce quelque chose que je fais vous saute aux yeux?

merci
VBA_DEAD
 

Pièces jointes

  • test - collerformule.xlsm
    31.5 KB · Affichages: 38

Discussions similaires

Statistiques des forums

Discussions
312 088
Messages
2 085 202
Membres
102 817
dernier inscrit
Nini668