Problème MAJ données sur Excel

Résolu
Bonjour,

je travaille actuellement sur le montage d'un tableau Excel où je dois extraire des valeurs sur des plages de plusieurs fichiers différents et en fonction de mots précis.
Ex : Dans le tableau de Bidule, il y a X dossiers en "incident".
J'ai donc utilisé la formule =NB.SI('Chemin du tableau source/[tableau]Feuille'!Plage;"*mot clé*")
Jusque là, ça marche nickel, sauf que quand je ferme le tableau et le réouvre, si je clique sur "Mise à jour", la case affiche #VALEUR!
Il faut que j'ouvre le tableau source pour que le calcul fonctionne l'autre fichier.

Voici en capture d'écran mon problème : http://i211.photobucket.com/albums/bb46/gudulettefr/Sanstitre-1.jpg

J'aimerais donc savoir quelle manip ou formule je dois rajouter pour que les valeurs se mettent à jour sans avoir besoin de réouvrir tous les tableaux source à chaque fois (oui, parce que je vais avoir quelque chose comme 45 sources différentes réunies sur un seul tableau :S, et ouvrir les 45 tableaux à chaque fois fait pas vraiment partie du programme).

Si vous avez une idée, je suis preneuse.
Merci :)

10 réponses

  1. Bonjour,
    Essayez de remplacer votre code :
    =NB.SI('Chemin du tableau source/[tableau]Feuille'!Plage;"*mot clé*")

    Par celui-ci :

    =SOMMEPROD(([Agathe.xls]Feuil1!$B$1:$B$100="*incident*")*1)
    0
    1. Contributeur
      Salut le forum

      Ce problème se produit lorsque la formule qui contient la fonction somme.Si et Nb.Si Nb.vide fait référence aux cellules dans un classeur fermé.

      Pour contourner ce problème, utilisez une combinaison des fonctions Somme et si ensemble dans une formule matricielle.

      Pour entrer une formule comme formule matricielle appuyez
      sur CTRL + MAJ + ENTRÉE.

      Au lieu d'utiliser une formule semblable au suivant
      =NB.SI([Source]Sheet1!$A$1:$A$8,"a")
      Utilisez la formule suivante :
      =SOMME(SI([Source]Sheet1!$A$1:$A$8="a",1,0))

      Mytå
      Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
      0
      1. Merci beaucoup pour vos réponses. Dans les deux cas, le message d'erreur ne s"affiche plus, cependant les cellules restent à 0. J'en déduis donc qu'il y a un problème sur les formules.
        J'ai revérifié le nom des fichiers sources et des feuilles cibles, ainsi que des plages, mais rien n'y fait. Ca reste irrémédiablement à 0 sur le tableau récapitulatif. J'en perds mon latin :(
        0
        1. Bonjour,
          Concernant ma proposition, j'ai testé avant de vous la proposer et cela fonctionne parfaitement.
          Pouvez-vous mettre une copie de la formule se trouvant dans le classeur?
          0
          1. Alors voici le tableau récapitulatif avec les deux formules que vous m'avez donné. Et sur les autres colonnes en message d'erreur, ce sont les formules initiales que j'avais mises.

            Voici le tableau source "Agathe", sachant que les infos sont celles de la colonne D.
            0
            1. Contributeur
              Re le forum

              Le problème semble venir du caractère générique *

              =SOMME(SI(ESTNUM(TROUVE("MISE";'D:\Essai\les fichiers\[Agathe.xls]Agathe'!$D$6:$D$80));1;0))

              Formule matricielle à valider par CTRL + MAJ + ENTRÉE

              Attention sensible à la case MISE est différent de Mise ou mise

              Mytå
              Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
              0
              1. Bonjour Gudulette,
                Merci pour la mise à disposition de vos fichiers.
                En effet je n'ai pas tenu compte de la recherche d'un texte à l'intérieur d'une chaine.
                Voici la formule, testée sur vos fichiers, qui fonctionne correctement :
                =SOMMEPROD((ESTNUM(TROUVE(MAJUSCULE("sursis");[Agathe.xls]Agathe!$D$6:$D$100)))*1)

                J'espère que se sera bon chez vous.
                0
                1. Merci beaucoup pour votre aide Mytå et Le Pingou, mais je m'en sors pas. Ca ne veut pas et ça m'énerve.
                  J'ai trouvé une parade en créant une feuille dans le classeur où je revoit les données récupérées et je renomme les cellules. C'est fastidieux, mais je manque de temps pour continuer sur des formules aussi complexes.
                  Merci encore !
                  0
                  1. Bonjour Gudulette,
                    Pas de panique, je vai mettre le code dans votre fichier....
                    Salutations.
                    Le Pingou
                    0
                    1. Bonjour Gudulette,
                      J'ai mis le code pour le 4 premières cellules de la ligne d'Agathe, à vous de mettre le critère correct (mise, contrôle, sursis, etc.). Votre fichier : https://www.cjoint.com/?gzrmCBlkVd

                      Salutations.
                      Le Pingou
                      0