Copier une valeur d'un autre onglet

Bonjour à tous.

Le titre semble se réferer à une question toute bète, mais c'est plus compliqué que ça.

Pour mettre en forme des factures clients, mon logiciel me sort des données brutes, en onglet (un pour l'entete, un pour les lignes).

Dans le système que j'ai commencé à travailler, le logiciel ouvre un fichier Excel contenant la présentation, dont le contenu est récupéré dans les onglets créés par le système.

Le problème est que Excel ne peut pas faire de liaison à un onglet qui n'existe pas encore (=NomOnglet!A1).

C'est pourquoi je vous pose la question suivante :une fonction Excel permettant de recopier une donnée d'un autre onglet (possiblement inexistant) existe t'elle ?

PS : Je ne peux pas utiliser de VB : le but de la manoeuvre est de rendre les personnes autonomes sur la mise en forme des factures. Ils pourront l'être si on leur dit de simplement indiquer d'aller une valeur à un endroit.

Merci de votre aide !

Edit: si une autre solution vous parait plus simple, n'hésitez pas

Bonjour. Bienvenue

Une formule pourrait anticiper le nom du nouvel onglet

Par exemple onglet13 et dans ta cellule, une simple Formule SI du genre

=SI(ESTERREUR(onglet13!A1);"";onglet13!A1)

Maintenant, en connaissant la logique de création des noms d'onglets, tu peux aussi créer la liste des onglets à venir et trouver une formule te renvoyant à cette liste avec la fonction INDIRECT.

=SI(ESTERREUR(INDIRECT(Formule de recherche du nom de l'onglet dans la liste&"!A1");""; INDIRECT(Formule de recherche du nom de l'onglet dans la liste&"!A1")

Reste à savoir la procédure qui génére les noms d'onglets.

Cordialement

6syndic-2.zip (14.93 Ko)

Merci de votre réponse.

Le souci que l'on va rencontrer, je pense, est que lorsque l'oblet est supprimé, cela supprime l'ensemble des liaisons avec cet onglet.

Je vais regarder avec INDIRECT ce qui est possible de faire.

11syndic-2bis.zip (11.72 Ko)

Je viens de tester, cela semble fonctionner avec INDIRECT

Merci

ARf, j'ai un souci.

SUite à un changement de programme, je dois maintenant appeler un autre fichier :/

Je souhaite rester sur un INDIRECT, car il me permet de calculer le numéro de igne dynamiquement (NIV1 étant une cellule de la première ligne).:

=INDIRECT("Lignes!H"&CTXT(LIGNE()-LIGNE(NIV1)+1;0))

Je dois donc changer ces lignes. Par contre, je n'arrive pas à appeler un autre fichier par ce biais.

=INDIRECT("'C:\test\situation\[sit.xls]Lignes'!H"&CTXT(LIGNE()-LIGNE(NIV1)+1;0))

Cette ligne me ramène REF!...

Je n'arrive pas à comprendre pourquoi cela me fait ça...

Bonsoir

Dans une liaison avec un autre fichier, INDIRECT, contrairement aux autres formules de liaison ne peut fonctionner que si l'autre fichier est ouvert.

L'erreur #REF! signale cette anomalie.

Cordialement

Merci de l'info!

Bon tant pis, il faudra que le fichier soit ouvert (pour que le calcul du numéro de ligne soit actif)

Rechercher des sujets similaires à "copier valeur onglet"