Fichier trop lourd - car formule trop imposante

Salut à tous,

je cherche quelqu un qui puisse m aider. J ai un fichier excel qui fait plus ou moins 7mb et qui est donc tres lourd a l utilisation.

Cela est du à une feuille en particulier. en effet dans cette feuille plus ou moins 24 000 cellules contiennent chacune la formule suivante:

=-IF(D$4=(SUMIF($1:$1,Sheet1!$B$3,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$3,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$4,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$4,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$5,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$5,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$6,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$6,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$7,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$7,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$8,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$8,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$9,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$9,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$10,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$10,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$11,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$11,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$12,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$12,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$13,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$13,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$14,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$14,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$15,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$15,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$16,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$16,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$17,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$17,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$18,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$18,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$19,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$19,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$20,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$20,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$21,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$21,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$22,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$22,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$23,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$23,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$24,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$24,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$25,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$25,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$26,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$26,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$27,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$27,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$28,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$28,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$29,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$29,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$30,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$30,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$31,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$31,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$32,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$32,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$33,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$33,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$34,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$34,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$35,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$35,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$36,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$36,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$37,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$37,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$38,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$38,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$39,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$39,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$40,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$40,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$41,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$41,29:29),0)-IF(D$4=(SUMIF($1:$1,Sheet1!$B$42,$4:$4)+$C225),SUMIF($1:$1,Sheet1!$B$42,29:29),0)

Ce qui rend le fichier tres tres tres lent. Je n ai pas trouver de moyen different afin d arriver a mes fins. Si vous remarquer, dans ces 40 formules differentes (de mon unique formule), c est l addition de la meme formule a chaque fois avec mon argument de somme.si qui descend d une case a chaque fois. Si quelqu un voit une solution... il est le bienvenu.

(P.S., je n y connais rien en macro)

Cordialement

Bonjour

Sans fichier pour tester et sans savoir si le résultat sera juste

Teste cette macro (Attention il n'y a pas de formule )

Sub test()
Dim Tot As Double
Dim J As Long

  For J = 3 To 42
    If Range("D4") = Application.SumIf(Rows(1), Sheets("Sheet1").Range("B" & J), Rows(4)) + Range("C225") Then
      If J = 3 Then
        Tot = Application.SumIf(Rows(1), Sheets("Sheet1").Range("B" & J), Rows(29))
      Else
        Tot = Tot - Application.SumIf(Rows(1), Sheets("Sheet1").Range("B" & J), Rows(29))
      End If
    End If
  Next J
End Sub

Merci pour votre réponse.

Comme je l avais indiqué , je ne m y connais pas du tout en macros. J ai tout de meme essayé d'en créer une... sans succès.

Si vous m'envoyez une adresse email, je peux eventuellement vous envoyer mon fichier.

Cordialement,

Bonjour

TU places ton fichier chez un hébergeur (style cjoint http://cjoint.com/index.php)

Tu m'envoies un mail via le le forum en y incluant le lien fourni par l'hébergeur

Amicalement

Rechercher des sujets similaires à "fichier trop lourd formule imposante"