lors de l'ouverture d'1 fichier...

L

LN

Guest
bonjour à tous

p'tit' question :

g 1 pb avec 1 fichier : ce dernier a des liaisons avec un autre fichier, et lorsque je l'ouvre, il ne garde pas mes liaisons, càd qu'il met toutes mes cellules à zéro au lieu de garder mes résultats.

c étonnant puisque g d'autres fichiers comme celui ci qui garde les résultats enregistrés auparavant !

y a-t-il une manip ou une erreur dans le calcul pour que celui ci se mette à zéro à chaque ouverture ?

Merci pour votre aide
LN
 
@

@+Thierry

Guest
Bonjour LN et le Forum

Je ne saisis pas, normalement si tu as Excel paramétré d'origine, tu dois avoir un message d'invite à l'ouverture d'un fichier contenant des liens pour savoir si tu veux que ces liens soient ou non mis à jour.

(Menu => Outils => Option => Onglet "Edition" => Demander la Mise à Jour des Liens (Ask to Update Automatics Links)

Donc à partir de là si tu réponds OUI, tes liens devraient être mis à jour.

Là où je comprends encore moins c'est pour tes autres fichiers, car cette option est générale dans Excel pour tous les fichiers...

A moins que tu n'ouvres tes fichiers par macros (dans lequel cas je te conseille de faire un tour sur ce fil de discution, je ne vois pas d'où vient ton problème. Le fichier source comporte't-il lui-même des données dans les cellules liées...

Enfin bon courage
@+Thierry
 
L

LN

Guest
effectivement il y a qqch de pas logique dans tout ça puisque même si je dis oui pour mettre à jour les liaisons à l'ouverture du fichier, mes données restent à zéro. Il faut absolument que le fichier source soit ouvert.
je ne comprends pas.

j'ai l'impression que cela vient de ma formule :

c'est une rechercheverticale d'une cellule X dans un fichier Y

=recherchev(X;indirect(Y);3;faux)

Y est un nom qui fait référence au fichier source

ce que je ne comprends pas c'est le "indirect" (ce n'est pas moi qui est écrit la formule) A quoi sert-il?
 
@

@+Thierry

Guest
Re LN

Je ne suis pas spécialist en Formules, Monique t'expliquera si elle passe par là... C'est elle notre Maîtresse Formula One !!!

Par contre si tu fais juste référence à une plage nommée "Y" il faut aussi qu'Excel indique le "path" complet pour que le lien se crée le classeur source fermé...

Un peu comme cet exemple :
='C:\Mes Documents\[Test.xls]Sheet1'!A1
Si Text.xls est ouvert, la formule ne montrera que
=[Test.xls]Sheet1'!A1
Mais dès que tu le refermera la formule reprendra C:\mes doc...


Bonne Aprèm
@+Thierry
 
M

Monique

Guest
Bonsoir,

Le classeur auquel fait référence la formule =RECHERCHEV(X;INDIRECT(Y);3;FAUX) doit être ouvert.

Je ne comprends rien à la fonction INDIRECT
Dans l'aide d'Excel, on trouve ceci :

Utilisez la fonction INDIRECT lorsque vous voulez modifier la référence à une cellule à l'intérieur d'une formule
sans modifier la formule à proprement parler.

Syntaxe
INDIRECT(réf_texte;a1)
réf_texte   est une référence à une cellule qui contient une référence de type A1, une référence de type L1C1, un nom défini comme référence ou une référence à une cellule sous la forme d'une chaîne de caractères. Si l'argument réf_texte n'est pas une référence de cellule valide, la fonction INDIRECT renvoie la valeur d'erreur #REF!
Si l'argument réf_texte fait référence à un autre classeur (une référence externe),
ce dernier doit être ouvert. Si le classeur auxiliaire ne l'est pas, la fonction INDIRECT renvoie la valeur d'erreur #REF!
a1   est une valeur logique qui indique le type de référence contenu dans la cellule de l'argument réf_texte.
Si l'argument a1 est VRAI ou omis, l'argument réf_texte est interprété comme une référence de type A1.
Si l'argument a1 est FAUX, l'argument réf_texte est interprété comme une référence de type L1C1.
 
L

LN

Guest
bonjour à tous et désolée pour la réponse tardive

merci Monique pour ces explications... alors si je comprends bien, à partir du moment où j'utilise la fonction INDIRECT, il faut que le classeur auquel elle fait référence soit toujours ouvert !!

N'y - t-il donc pas dans ce cas, une fonction que l'on puisse utiliser, pour remplacer indirect, et qui ne nous oblige pas à ouvrir le fichier source ???

Merci
Bises
LN
 
L

LN

Guest
et voici le fichier source
en l'ouvrant les données du fichier indirect se mettent à jour.

j'espère que vous percevrez mieux le pb
moi je sèche !!!


Mille mercis pour votre aide
Bises
LN
 

Pièces jointes

  • Fichiersource.xls
    13.5 KB · Affichages: 67
  • Fichiersource.xls
    13.5 KB · Affichages: 68
  • Fichiersource.xls
    13.5 KB · Affichages: 69
A

andré

Guest
Salut LN,
Voici comment récupérer des données d'un classeur fermé :
(extraits d'un post du 25.09.02)

Phil :
J'ai le problème suivant : lorsque j'ai une formule qui va chercher des valeurs dans un autre classeur, et que celui-ci n'est pas ouvert, toutes les cellules liées à celui-ci affichent "#VALEUR!" . Lorsque j'ouvre le classeur lié, tout rentre dans l'ordre !
Mes formules sont toutes simples, du style : =SOMME.SI('c:\[classeur1.xls]Feuil1'!$C$52:$C$69;...

Robert :
Essayez avec cette formule:
=SI('C:\[classeur1.xls]Feuil1'!$C$52:$C$69;SOMME('C:\[classeur1.xls]Feuil1'!$C$52:$C$69);"")

Phil :
Merci, mais en fait ma formule est plutôt du genre :
=SOMME.SI('c:\[classeur1.xls]Feuil1'!$C$52:$C$69;$C10;'c:\[classeur1.xls]Feuil1'!$E$52:$E$69)
J'ai essayé, et ça ne marche pas !!

André (c'est moi -lol-) :
Si, cela marche très bien, mais ...
Dans la première partie de ta formule tu ne peux faire référence qu'à une seule cellule (non vide) :
= SI('C\[...]Feuil1!C52;somme('C\[...]Feuil1!E52:E69;"")

Eh bien voilà ...
André.
 
M

Monique

Guest
Bonjour,

Déjà que je ne comprenais rien à la fonction INDIRECT, là, c'est le bouquet.
Tu peux remplacer ta formule par une RECHERCHEV (directe) et ça fonctionne, même quand le fichier source est fermé.
 

Pièces jointes

  • FormuleIndirect.xls
    15.5 KB · Affichages: 73
  • FormuleIndirect.xls
    15.5 KB · Affichages: 80
  • FormuleIndirect.xls
    15.5 KB · Affichages: 82
L

LN

Guest
bonjour bonjour

excuse moi André mais je ne vois pas où est la solution dans tout ça !! c'est une recherche que je fais et non une somme.si et je ne vois pas bien où je dois corriger mon erreur.

quant à Monique, j'avais =ment vu que ça fonctionnait en mettant directement le nom dans la formule
mais le pb est que le nom change en fonction de la date !!!!(et cela évitait donc de se retaper toutes les colonnes pour changer le nom!!)

merci encore
mais je n'ai tjs pas la réponse (snif)
je vais finir par croire qu'il n'y a pas de solution à cette énigme !!


Bises
LN
 
A

andré

Guest
Resalut LN,

Mais la solution, tu l'as devant les yeux !
Et puis ne t'énerves pas, c'est pas bon pour la santé !

Ton problème provient du fait que tu as nommé des cellules qui font réference à ton fichier source, qui est un classeur non ouvert.
C'est la référence que tu dois modifier comme dans l'exemple que je t'ai fourni, que ce soit avec ou sans fonction.
Tu tapes la formule : =SI([chemin complet];[chemin complet];"") et dans la partie centrale de la formule tu peux ajouter ou non les fonctions que tu désires.

Tu as deux façons de procéder :

Pour moi, la plus simple est de créer un classeur d'environnement, qui ouvrira tes deux classeurs en même temps, et ... plus de problème.

La deuxième, c'est de supprimer, dans un premier stade, les noms que tu as donnés et de faire réference au classeur fermé par le double encodage du chemin, comme dans l'exemple.

Un petit conseil : essaie d'abord de faire fonctionner ta recherche dans un classeur fermé, comme l'exemple te l'indique.
Une fois que tu auras compris le système, tu l'adapteras à ton cas.

Allez courage, à vaincre sans péril, ...
André.
 
L

LN

Guest
G REUSSI

YOUPI !!!!!

Je ne sais pas si j'ai fait comme vous m'avez expliqué mais en essayant, j'ai eu un flash et ça fonctionne, en plus ça n'alourdit pas trop la formule ni le fichier, c'est génial.


GROS BISOUS à TOUS

BON WEEK END

LN
 

Discussions similaires

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 182
dernier inscrit
savio