Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion tux factory
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

tux factory

Guest
Rebonjour le forum

Je me demande pourquoi quand j'ai une fonction indirect, il faut absolument que le classeur dans lequel ma formule indirect doit aller chercher des données doit être absolument ouvert?

J'aimerais bien que non seulement ma formule aille piocher toute seul comme le fait une liaison classique les données, mais en plus, j'aimerais bien que les valeurs soient sauvegardées apres l'enregistrement. C'est possible ca ?

Merci
 
Salut,

Voici ce qu'en dit l'aide MS :

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!


Très souvent la touche clavier F1 répond beaucoup plus rapidement qu'XLD !

Â+
 
Tres souvent faut chercher un peu ... :/

J'ai trouvé ca: sur disciplus simplex..... (voir en dessous), mais est'il possible de compiler ca avec des choses de ce genre:

=INDIRECT(''S:\\Production\\...\\[trs btm - ' &TEXTE(LIGNE()-5;'00') &'-06.xls]btm 1'!$cs$44')


C'est possible de compiler avec le truc de ci dessous ?????


trouvé sur disciplus simplex.....

Est-il normal que je ne puisse pas utiliser INDIRECT pour établir une liaison vers un classeur fermé ? =INDIRECT(\\\\\\''C:\\Mes Documents\\[rien.xls]Feuil1'!$A$1\\\\\\') qui marche très bien quand rien est ouvert, renvoie #REF! dès que rien.xls est fermé alors que ='C:\\Mes Documents\\[rien.xls]Feuil1'!$A$1 marche très bien même si rien est fermé
Oui c'est normal..

En gros : quand le classeur est en mode recalcul, Excel n'effectue
aucune opération susceptible d'interférer avec les calculs en cours. En
l'occurence, aller chercher le contenu d'un classeur fermé supposerait
qu'il établisse d'abord une liaison temporaire, lise la cellule, et
détruise ensuite cette liaison. Comme ce type d'action est verrouillé en
mode recalcul, INDIRECT échoue.

C'est pour la même raison qu'il est impossible, par exemple, d'ouvrir un
nouveau classeur ou de modifier le contenu d'une plage à l'intérieur
d'une Function appelée par une formule de cellule.

Une parade toutefois, à l'aide de VBA :

Function RECUP(Fichier As String, Feuille As String, _
Ligne As Long, Col As Integer)
With CreateObject('Excel.Application').Workbooks.Open(Fichier)
RECUP = .Worksheets(Feuille).Cells(Ligne, Col)
.Close False
End With
End Function

Ensuite, par exemple =RECUP('C:\\Test.xls';'Feuil1';5;10) pour récupérer
la cellule Feuil1!J5 de ce classeur fermé (note qu'il est quand-même
temporairement ouvert par la fonction...)

Ca marche pour la seule raison que la fonction lit le contenu du
classeur fermé par l'intermédiaire d'une nouvelle instance d'Excel.
Celle-ci étant indépendante de la session active, le 'verrouillage' n'a
plus lieu.

Attention, chaque appel de RECUP lançant une nouvelle instance d'Excel,
cette fonction n'est pas très rapide à l'exécution... à utiliser donc
avec modération!
Laurent Longre,
Ajouté ou modifié le 25/10/2003 (N°837)
😱
 
Bonjour à tous

J'avais donné une solution qui peut peut-être (peu peu ?) fonctionner dans votre cas.
Lien supprimé

Extrait :
...
J'ai peut-être une demi-solution :
Faire 'ouvrir automatiquement et discrètement' les classeurs en utilisant une liaison OLE.

Un exemple concret :
dans votre RAP-MEN.xls
- Menu Insertion/Objet...
- Onglet Créer à partir du fichier (sélectionner 'RECAP_HEBDO.xls')
- Cocher les 2 cases
- lier au fichier
(sinon excel incorpore les données ce qui revient à faire une copie)
- Afficher sous forme d'icône
(pour que les données liées ne soient pas affichées)

Ainsi votre fonction INDIRECT(...) fonctionne de manière transparente en ne lançant que RAP-MEN.xls. Il reste à planquer l'icône de 'RECAP_HEBDO.xls' pour faire joli ;-)

...

Voilà
en l'adaptant à votre problème vous devriez avoir une 'presque solution'

Au revoir, à bientôt.
 
GENIAL!!!!!

Ca fonctionne du tonnerre !!!!!! C'est trop top !

Par contre, j'ai une question, est'il possible de lier le fichier 'maître ' avec des feuilles qui n'exostent pas encore ???

Ca serait utile par exemple pour ne s'occuper de rien en fin de mois.

La solution telle qu'elle est pour le moment oblige a créer autant d'objet qu'il y a de fichier a lier (si on en a 10000 ca risque d'être un peu long).....?

J'en demande beaucoup, mais la solution actuelle est déja excellente, et me permet de finaliser à 95% mon fichier!!!

Encore merci pour cette solution au combien excellente !
 
Bonjour le forum !

L'euphorie liée au bon fonctionnement du fichier à été de courte durée...

Sur mon poste le fichier contenant des objets et des formules commencant en indirect marche tres bien.

La ou ca commence à déconner c'est quand on passe sur le poste de quelqu'un d'autre... le fichier ne se met pas a jour automatiquement, mais demande de mettre a jour les liaisonss, et si on clique sur oui, alors ca ne marche pas quand même...

Une idée ???

Merci
 
Bonjour

Un retour tardif, mais ...

Pour l'histoire des 10000 fichiers, là il vaut mieux envisager de créer ces liaisons OLE, en VBA. Un petit coup d'enregistreur de macro devrait donner des indices de recherche pour les OLEobjects. Il restera à trouver une boucle pour scruter un répertoire par exemple.

Pour le problème d'exportation des fichiers sur un autre poste : Il faudrait vérifier que le nom du fichier à incorporer ne contient pas un chemin particulier au poste initial (comme le nom d'utilisateur du poste ex : documents\\Tux\\ ... )

La solution serait peut-être de faire un test avec tous les fichiers xls dans un répertoire près de la racine c:\\xls\\*.xls
ou de modifier le chemin pour ne garder que le nom du fichier.

A propos des demandes de mise à jour des liaisons il faut aller voir dans les options pour supprimer les demandes de confirmations.

Voilà peut-être quelques idées à creuser. (cher Linuxien, enfin je suppose que Tux correspond à la célèbre mascotte du pingouin enfin du manchot ... Disons du 'penguin' ;-)

Au revoir, à bientôt
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
226
Réponses
6
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…