Tirer une formule pour qu'elle s'incrémente automatiquement
Bonjour,
Depuis plusieurs jours, j'écume les forums.
J'ai des fiches de matériels rangé dans des classeur différents.
Chaque classeur contient la fiche d'un matériel en première feuille et une fiche de vie en fiche suivante.
Je veux pouvoir faire le listing de tous les matériels sur une seule feuille de calcul.
Pour cela je dois recopier plusieurs infos qui sont toujours sur les même cellules de chaque feuilles présentes dans chaque classeur.
J'ai commencé pour cela à faire une formule afin de copier celles-ci dans ma feuille de listing.
Voilà ce que j'ai dans la case B1 de mon listing :
='Y:\Philippe\Mase 2012\Aspirateur\[Aspirateur 1.xls]Aspirateur 1'!$C$3
J'espérais tirer la formule afin de faire une incrémentation en tirant vers le bas (Entre 10 et 70 lignes à chaque fois)
Le but est d'incrémenter le chiffre 1 placé après le : Aspirateur.
Au cours de mes surfs, je suis tombé souvent, mais j'ai réussi à tuber un fois ! (quote : blague spéciale surfeur)
Un article de forum proposait une idée très intelligente :
Réponse :
La formule deviendrais donc :
='Y:\Philippe\Mase 2012\Aspirateur\[Aspirateur "&A1&".xls]Aspirateur "&A1&"'!$C$3
Avec une colonne en A incrémentée de 1 à 70.
Mais j'ai le terme #REF qui sort dés la première cellule. Et je ne parle pas du résultat lorsque je tire sur la formule pour faire mes 70 lignes ...
D'ou la tasse que j'ai prise alors que je sabrais déjà le champagne pour mon premier tube en surf ! (quote : mode surfeur on)
J'ai cru trouver mon bonheur avec VBA, mais j'ai bu la tasse aussi ...
Y'en a qui ont un leech ou je rachète une planche de suite ...
Bonjour
Après la concaténation, ta formule devient du texte et est neutralisée.
Comme tu es en Excel 2003, ta solution ne peut venir que par la Formule INDIRECT.EXT
Cette formule nécessite la mise en place des macros complémentaires du Pack Morefunc de Laurent Longres
Téléchargement gratuit et guidé
Tu tapes Morefunc dans la barre de recherche de ton navigateur et tu cherches un téléchargement gratuit.
Cordialement
Je te remercie pour ta rapidité à répondre !
Je viens de le télécharger.
Je vais me pencher là dessus et si j'ai encore des question, je viendrais en faire part !
Par contre, je n'avais pas entendu parler de ce problème de fonction manquante, comme quoi j'ai pas encore bien cherché !
Merci !
J'ai eu quelques difficultés à faire fonctionner morefunc :
il c'est installé dans C:\Program Files\Morefunc et pôur qu'il fonctionne dans excel, j'ai du lui pointer le fichier car il ne trouvait pas le fichier lors de la manip macro personnalisés ... cocher morefunc.
Un fois la présence de la fonction lorsque l'on clique sur Fx pour accéder au menu déroulant.
Je fais la modif de la formule pour arriver à :
=INDIRECT.EXT('Y:\Philippe\Mase 2012\Aspirateur\[Aspirateur 1.xls]Aspirateur 1'!$C$3)
Et là c'est le drame : il ne me file plus que du : #ref
Je précises que le fichier sur lequel je pointes existe bien ...
Par contre, je ne vois pas le moyen d'implémenter ma formule en tirant sur l'équation en utilisant =INDIRECT.EXT !
Je vous souhaite sur ce une bonne soirée !
Mais sans cochemare 'pas comme moi !)
Bonjour
La syntaxe de la fonction INDIRECT.EXT est clairement expliquée dans Morefunc. et
Je fais la modif de la formule pour arriver à :
=INDIRECT.EXT('Y:\Philippe\Mase 2012\Aspirateur\[Aspirateur 1.xls]Aspirateur 1'!$C$3)
démontre que tu n'as pas essayé de comprendre le mode d'emploi.
INDIRECT.EXT s'utilise sur le principe de la fonction classique INDIRECT avec les textes entre guillemets et les arguments de concaténation &
Si le nom de la Feuille change avec le nom du fichier, ta formule ressemblerait à
=INDIRECT.EXT("'Y:\Philippe\Mase 2012\Aspirateur\[Aspirateur "&$A1&".xls]Aspirateur "&$A1&"'!$C$3")ou, si cette formule est en ligne1, tu peux te passer de la colonne A avec
=INDIRECT.EXT("'Y:\Philippe\Mase 2012\Aspirateur\[Aspirateur "&$LIGNE()&".xls]Aspirateur "&$LIGNE()&"'!$C$3")Cordialement
Je te remercie.
Je m'excuse de ne pas avoir compris dés le début, mais comme je le disais juste avant, j'ai eu des soucis à l'installation.
J'ai mis 2 h à comprendre comment faire activer le module (soucis malgré plusieurs tentatives d'instal) et je n'ai réussi à installer que la partie formule, pas l'aide ....
Je suis désolé pour le dérangement, mais je te remercie d'avoir pris le temps de bien vouloir me répondre.
J'essaie demain en arrivant pour te donner mes impression ! Qui seront forcément bonnes !
Bonne nuit !
Bonjour,
alors je pense pour résoudre le problème, tu pourra utiliser une formule en suivant ces étapes:
1- il faut que tous les fichiers soient ouvert alors double clique sur le dossier, Ctrl +A, entrée
2-dans ta cellule A1 et B1
A1="[Aspirateur "&ligne()&".xls]Aspirateur 1"
B1=INDIRECT(ADRESSE(3;3;1;1;A1))ça devra marché enfin je l'espère pour toi
Cdt
Gestionnaire rh
Je vous appellerais bien maître, mais là je vais devenir un peu trop mielleux !
Dans un soucis de lisibilité, j'ai voulu mettre en place une fonction SI afin d'éviter le 0 de l’absence de texte.
Mon premier essai : (j'ai rajouté des () en espérant améliorer les choses, mais ...)
=SI((INDIRECT.EXT("'Y:\Philippe\Mase 2012\Aspirateur\[Aspirateur "&$A5&".xls]Aspirateur "&$A5&"'!$C$3"));" ";(INDIRECT.EXT("'Y:\Philippe\Mase 2012\Aspirateur\[Aspirateur "&$A5&".xls]Aspirateur "&$A5&"'!$C$3")))
M'affiche un #Valeur.
et l'autre solution que je voyais :
=INDIRECT.EXT(si("'Y:\Philippe\Mase 2012\Aspirateur\[Aspirateur "&$A4&".xls]Aspirateur "&$A4&"'!$C$3");"";"'Y:\Philippe\Mase 2012\Aspirateur\[Aspirateur "&$A4&".xls]Aspirateur "&$A4&"'!$C$3")
là je ne dois pas du tout être sur la bonne voie ...
Pour ce qui est de la solution de gestionnaire_rh, je suis impressionné de la voire fonctionner, (j'ai pas encore compris le fonctionnement des différent chiffres sous ADRESSE ... Mais je vais y passer un peu plus de temps !)
Ce qui me pose problème, c'est d'avoir à ouvrir tous les classeurs avant de réaliser les inventaires.
D'un autre côté je n'ais pas besoin d'installer le module morefunc sur tous les ordi !
J'avoue que mon coeur balance encore entre les deux ! mais il faudra bien trancher à un moment et j'ai cru comprendre que la fonction INDIRECT.EXT était gourmande en ressource lorsque elle est très répeté dans une même feuille de calcul.
On va tester les deux et on verra après !
En tout cas un grand merci à tous les deux !
Bonjour
Le choix est simple
Si les Classeurs sont fermés, la liaison avec INDIRECT.EXT reste active et celle avec iNDIRECT et ADRESSE non.
Cordialement
J'ai voulu faire une formule SI afin de supprimer le 0 lorsqu'il n'y a pas d'info dans la cellule cible.
Je devrais l'écrire :
=SI(INDIRECT.EXT("'Y:\Philippe\Mase 2012\Aspirateur\[Aspirateur "&$A4&".xls]Aspirateur "&$A4&"'!$C$3"); ""; INDIRECT.EXT("'Y:\Philippe\Mase 2012\Aspirateur\[Aspirateur "&$A4&".xls]Aspirateur "&$A4&"'!$C$3"))
Mais j'ai le droit à un #Valeur à chaque fois.
Je précise que j'ai bien la bonne valeur en retirant la fonction SI ....
Bonjour
si tu oublies la condition....
=SI(INDIRECT.EXT("'Y:\Philippe\Mase 2012\Aspirateur\[Aspirateur "&$A4&".xls]Aspirateur "&$A4&"'!$C$3") =0; ""; INDIRECT.EXT("'Y:\Philippe\Mase 2012\Aspirateur\[Aspirateur "&$A4&".xls]Aspirateur "&$A4&"'!$C$3"))
Cordialement
OH LE CON .......................
Et j'y ai passé une bonne partie de la journée ............
Dsl et bonsoir !