IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Problème avec la fonction DECALER


Sujet :

Excel

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2013
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 114
    Par défaut Problème avec la fonction DECALER
    Bonjour,

    J'ai un tableau Excel dont l'une des feuilles doit, à terme, faire environ 15.000 lignes.
    Or, il y a des fonctions sur chacune des lignes, ce qui fait qu'à l'heure actuelle, j'ai fait des copier-coller de mes formules sur 15.000 lignes !
    Le problème est que le temps de calcul est extrêmement long.
    Je sais que la fonction DECALER pourrait faire quelque chose, mais je ne sais pas comment m'y prendre, d'autant que les formules sont tarabiscotées !

    Merci d'avance pour votre aide.

    Cordialement.
    Fichiers attachés Fichiers attachés

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je n'ai pas vraiment compris ce que souhaite.

    Est-ce que ça pourrai correspondre au commentaire que j'avais laissé sur cette page (regarde les captures d'écrans pour voir, surtout la n°1 enfaite) et dit nous si ça correspond à ce que tu rechercherai (même si les données doivent être transferé d'une feuille à une autre, ça marchera quand même):

    http://www.developpez.net/forums/d13...r/#post7354838

    Et aussi, c'est avec ou sans VBA ?


    P.S.: Finalement, non, après avoir regardé ton fichier, je n'ai pas compris. Je ne vois pas ce que tu veux faire enfaite.

    Ecrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ='Total des indus non soldés'!A2
    est mieux qu'une fonction décalé (sauf en VBA, mais en VBA, la fonction décaler ne sert à rien. La fonction offset en est un dérivé simplifié, mais je ne vois pas à quoi ça pourrai servir).

    Dis nous en plus (plus de précision). Tu veux copier-coller les données ? Les formules ? ...

    A+

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2013
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 114
    Par défaut
    Bonjour,

    Je souhaite passer par une fonction et pas par une macro.

    En fait, plutôt que de mettre mes formules sur 15.000 lignes dans la feuille 2, je voudrais qu'avec la fonction DECALER Excel ne fasse pas plus de calculs qu'il n'y a de lignes.

    A l'heure actuelle, j'en suis à 2.500 lignes et il n'y a aucune utilité à aller jusqu'à 15.000. Le problème est que l'utilisateur change souvent et que je n'ai pas envie de l'obliger à changer les formules en fonction des lignes ajoutées, d'où la fonction DECALER.
    Il est peut-être possible aussi de définir une plage de données dynamiques dans la 1ère feuille du classeur et d'indiquer celle-ci ensuite dans les formules de la feuille 2, mais je ne sais pas comment faire !

    Merci encore.

    Cordialement.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Il y aurai éventuellement les fonctions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    = NB(A:A)
    = NB.SI(A:A)
    = NB.SI.ENS(A:A)
    Elles servent à compter avec ou sans conditions.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Est-ce que la syntaxe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI('Total des indus non soldés'!A2="";"";'Total des indus non soldés'!A2)
    Te plairait. En la faisant glisser jusqu'à 65000 (tes fonctions semblent s'arréter à 65000) ?

    Si les cellules sont vides dans ta feuille "Total des indus non soldés", alors, la fonction SI renvoie du texte vide. Ça alourdi le fichier puisqu'il y a maintenant 28 x 65000 cellules qui sont rempli avec une fonction SI, mais la taille du fichier sera constante pour toute sa durée de vie. Tu peux réduire à 30000 cellules si tu veux.

    Il n'y a en revanche ici pas de gestion anti erreur. J'ai fait vraiment simple et basique.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Je viens de m'apercevoir que ça sert à rien du tout ce que j'ai fait.
    Ça n'apporte rien de plus enfaite.

    Il faut que tu met une condition SI dans tes formules plage AD:AI car c'est elles qui te génèrent des erreurs. Ta plage A:AB est bonne elle. Elle ne fait que recopier les données issue de ton autre feuille enfaite. Ce sont tes formules qui interprètent mal les données lorsqu'il n'y en a pas justement et te génère une erreur #VALEUR!

    Donc, dans la mesure où ta plage AC est libre, tu peux la remplir avec des valeurs binaire (0 ou 1). Dans la plage AC, tu met une fonction SI indiquant que si les références contenues dans A:AD sont vides, alors la fonction SI te met un 0, sinon 1.

    Puis, ensuite, un SI(AC=0;"";fonctionplage A:AD)
    Traduit par : Si la ligne ACn (où n est le même n° de ligne que la fonction) égale 0, alors rien, sinon, fonction.

    Exemple en AG11:
    =SI($AC11=0;"";CNUM(F11)*1)
    Dernière modification par Invité ; 27/06/2013 à 22h18.

Discussions similaires

  1. Problème avec une fonction date.
    Par kmayoyota dans le forum ASP
    Réponses: 8
    Dernier message: 09/09/2004, 12h33
  2. Problème avec la fonction findfirst ()
    Par Angelico dans le forum Windows
    Réponses: 3
    Dernier message: 05/08/2004, 20h40
  3. [Requete SQL en VBA] Problème avec la fonction FLOOR
    Par zubral dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/07/2004, 13h24
  4. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  5. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo