Comment relier des fichier excel entre eux
davidroro
-
davidroro -
davidroro -
Bonjour,
J'ai 100 fichiers excel qui sont numérotés de 1 a 100, exemple :
(Archiv1\[1.xls]), Archiv1\[2.xls], etc.
Je cherche a obtenir en automatique dans un fichier excel de synthèse les données correspondante au fichier 1, 2, 3, etc, Feuil1'!D4 :
Archiv1\[1.xls]Feuil1'!D4
Archiv1\[2.xls]Feuil1'!D4
Archiv1\[3.xls]Feuil1'!D4
Merci pour votre aide.
J'ai 100 fichiers excel qui sont numérotés de 1 a 100, exemple :
(Archiv1\[1.xls]), Archiv1\[2.xls], etc.
Je cherche a obtenir en automatique dans un fichier excel de synthèse les données correspondante au fichier 1, 2, 3, etc, Feuil1'!D4 :
Archiv1\[1.xls]Feuil1'!D4
Archiv1\[2.xls]Feuil1'!D4
Archiv1\[3.xls]Feuil1'!D4
Merci pour votre aide.
A voir également:
- Comment relier des fichier excel entre eux
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Liste déroulante excel - Guide
8 réponses
salut
si j'ai bien compris tu veux pouvoir recopier vars le bas un cellule contenant =Archiv1\[1.xls]Feuil1'!D4 avec seulement le 1 de 1.xls qui s'incrémente jusqu'à 100 dans la recopie
si c'est ça moi je passerai par une concaténation de plusieurs cellules (que tu pourras masquer une fois la recopie effectuée)
exemple
cellule A1 mettre Archiv1\[
cellule B1 mettre 1.xls
cellule C1 mettre ]Feuil1'!D4
cellule D1 mettre =CONCATENER(A1:C1)
et recopier vers le bas normalement seul de le 1 de 1.xls va s'incrémenter
si D4 s'incrémente mettre $D$4 à la place
si j'ai bien compris tu veux pouvoir recopier vars le bas un cellule contenant =Archiv1\[1.xls]Feuil1'!D4 avec seulement le 1 de 1.xls qui s'incrémente jusqu'à 100 dans la recopie
si c'est ça moi je passerai par une concaténation de plusieurs cellules (que tu pourras masquer une fois la recopie effectuée)
exemple
cellule A1 mettre Archiv1\[
cellule B1 mettre 1.xls
cellule C1 mettre ]Feuil1'!D4
cellule D1 mettre =CONCATENER(A1:C1)
et recopier vers le bas normalement seul de le 1 de 1.xls va s'incrémenter
si D4 s'incrémente mettre $D$4 à la place
Bonjour,
j'ai essaye mais cela ne fonctionne pas.
possible que je ne me suis pas bien exprime.
\archiv1 est le nom de dossier ou se trouve les fichiers 1, 2, 3, ... 100
je souhaite faire glisser dans un autre fichier excel les donnees contenues dans les fichiers 1,2,3, 100 .. pour otenir dans chaque lignes du nouveau fichier :
Archiv1\[1.xls]Feuil1'!D4
Archiv1\[2.xls]Feuil1'!D4
Archiv1\[3.xls]Feuil1'!D4
etc.
aujourd'hui lorsque je fais glisser j'obtient :
Archiv1\[1.xls]Feuil1'!D4
Archiv1\[1.xls]Feuil1'!D5
Archiv1\[1.xls]Feuil1'!D6
etc.
encore merci
j'ai essaye mais cela ne fonctionne pas.
possible que je ne me suis pas bien exprime.
\archiv1 est le nom de dossier ou se trouve les fichiers 1, 2, 3, ... 100
je souhaite faire glisser dans un autre fichier excel les donnees contenues dans les fichiers 1,2,3, 100 .. pour otenir dans chaque lignes du nouveau fichier :
Archiv1\[1.xls]Feuil1'!D4
Archiv1\[2.xls]Feuil1'!D4
Archiv1\[3.xls]Feuil1'!D4
etc.
aujourd'hui lorsque je fais glisser j'obtient :
Archiv1\[1.xls]Feuil1'!D4
Archiv1\[1.xls]Feuil1'!D5
Archiv1\[1.xls]Feuil1'!D6
etc.
encore merci
Bonjour,
compte tenu, que je n'ai pas recu de reponse, faut il en conclure qu'il n'existe pas de solution!
ou que personne ne veut relever le defi...
merci
compte tenu, que je n'ai pas recu de reponse, faut il en conclure qu'il n'existe pas de solution!
ou que personne ne veut relever le defi...
merci
Bonjour
essayez ceci:
sur ligne 2 en A2 de votre récap:
=INDIRECT("'Archiv1\["&LIGNE()-1&".xls]Feuil1'D4")
à tirer vers le bas. La valeur de LIGNE()-1 va s'incrémenter, pas le reste du texte.
notes:
1°) ligne()-1 sur ligne 2 donne 1
2°) il est curieux que le crochet soit après archive dans votre demande.
3°) pour valider la solution via INDIRECT:
placer dans une cellule:
="'Archiv1\["&LIGNE()-1&".xls]Feuil1'D4"
le libellé qui s'affiche dans la cellule doit correspondre exactement à l'adresse complète à utiliser
*crdlmnt
ps vous concluez vite.
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
essayez ceci:
sur ligne 2 en A2 de votre récap:
=INDIRECT("'Archiv1\["&LIGNE()-1&".xls]Feuil1'D4")
à tirer vers le bas. La valeur de LIGNE()-1 va s'incrémenter, pas le reste du texte.
notes:
1°) ligne()-1 sur ligne 2 donne 1
2°) il est curieux que le crochet soit après archive dans votre demande.
3°) pour valider la solution via INDIRECT:
placer dans une cellule:
="'Archiv1\["&LIGNE()-1&".xls]Feuil1'D4"
le libellé qui s'affiche dans la cellule doit correspondre exactement à l'adresse complète à utiliser
*crdlmnt
ps vous concluez vite.
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
Bonjour,
Le chemin complet ou se trouve le fichier ou je veux recuperer les donnees est :
='C:\Documents and Settings\David\Desktop\JUIN 2011\BS\Client X\QS 2011\Archiv1\[1.xls]Feuil1'!D2
Meme chose pour le fichier 2 :
='C:\Documents and Settings\David\Desktop\JUIN 2011\BS\Client X\QS 2011\Archiv1\[2.xls]Feuil1'!D2
Etc.
Je ne comprend pas je dois inserer votre formule dans le chemin...
Le chemin complet ou se trouve le fichier ou je veux recuperer les donnees est :
='C:\Documents and Settings\David\Desktop\JUIN 2011\BS\Client X\QS 2011\Archiv1\[1.xls]Feuil1'!D2
Meme chose pour le fichier 2 :
='C:\Documents and Settings\David\Desktop\JUIN 2011\BS\Client X\QS 2011\Archiv1\[2.xls]Feuil1'!D2
Etc.
Je ne comprend pas je dois inserer votre formule dans le chemin...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
RE
=iNDIRECT("'C:\Documents and Settings\David\Desktop\JUIN 2011\BS\Client X\QS 2011\Archiv"&MLIGNE()-1"\[2.xls]Feuil1'!D2 ")
D2ou D4, va savoir??
Crdlmnt
=iNDIRECT("'C:\Documents and Settings\David\Desktop\JUIN 2011\BS\Client X\QS 2011\Archiv"&MLIGNE()-1"\[2.xls]Feuil1'!D2 ")
D2ou D4, va savoir??
Crdlmnt
bonjour,
excel dit qu'il y a une erreur dans la formule.
ce que je cherche a modifier en automatique dans le chemin c'est (1.xls / 2.xls, etc.):
C:\Documents and Settings\David\Desktop\JUIN 2011\BS\Client X\QS 2011\Archiv1\[1.xls]Feuil1'!D2
C:\Documents and Settings\David\Desktop\JUIN 2011\BS\Client X\QS 2011\Archiv1\[2.xls]Feuil1'!D2
Etc.
Merci
excel dit qu'il y a une erreur dans la formule.
ce que je cherche a modifier en automatique dans le chemin c'est (1.xls / 2.xls, etc.):
C:\Documents and Settings\David\Desktop\JUIN 2011\BS\Client X\QS 2011\Archiv1\[1.xls]Feuil1'!D2
C:\Documents and Settings\David\Desktop\JUIN 2011\BS\Client X\QS 2011\Archiv1\[2.xls]Feuil1'!D2
Etc.
Merci
Si le texte de votre message est intégralement celui que vous avez dans la barre de formule:
=INDIRECT("C:\Documents and Settings\David\Desktop\JUIN 2011\BS\Client X\QS 2011\Archiv1\["&LIGNE()&".xls]Feuil1'!D2")
LIGNE() correspond à 1 sur ligne 1
voila le texte reconstruit que vous devriez obtenir.
le mieux à faire:
copier la barre e formule et copier le texte dans une cellule, sans le signe =
placer le LIGNE() à la place du N° de fichier
encadrer les deux textes de chaque coté de ce code par des guillemets
placer le tout entre parenthèses
rajouter devant =INDIRECT
voila le texte que vous devriez obtenir en incrémentant:
http://www.cijoint.fr/cjlink.php?file=cj201110/cijO44OTOb.xls
crdlmnt
=INDIRECT("C:\Documents and Settings\David\Desktop\JUIN 2011\BS\Client X\QS 2011\Archiv1\["&LIGNE()&".xls]Feuil1'!D2")
LIGNE() correspond à 1 sur ligne 1
voila le texte reconstruit que vous devriez obtenir.
le mieux à faire:
copier la barre e formule et copier le texte dans une cellule, sans le signe =
placer le LIGNE() à la place du N° de fichier
encadrer les deux textes de chaque coté de ce code par des guillemets
placer le tout entre parenthèses
rajouter devant =INDIRECT
voila le texte que vous devriez obtenir en incrémentant:
http://www.cijoint.fr/cjlink.php?file=cj201110/cijO44OTOb.xls
crdlmnt
Bonjour,
la formule fonctionne, elle me donne bien 1.xls, 2.xls, etc, dans le cas de la formule ci-dessous :
=("C:\Documents and Settings\David\Desktop\JUIN 2011\BS\Client X\QS 2011\Archiv1\["&LIGNE()&".xls]Feuil1'!D2")
mais des que je mets devant la formule = INDIRECT, la formule me donne le resultat : REF
la formule fonctionne, elle me donne bien 1.xls, 2.xls, etc, dans le cas de la formule ci-dessous :
=("C:\Documents and Settings\David\Desktop\JUIN 2011\BS\Client X\QS 2011\Archiv1\["&LIGNE()&".xls]Feuil1'!D2")
mais des que je mets devant la formule = INDIRECT, la formule me donne le resultat : REF
salut
je reprends ma proposition en la modifiant pour qu'elle s'incrémente au bon endroit
cellule A1 mettre Archiv1\[
cellule B1 mettre 1
cellule C1 mettre .xls]Feuil1'!$D$4
cellule D1 mettre =CONCATENER(A1:C1)
et recopier vers le bas
normalement seul le 1 va s'incrémenter
je reprends ma proposition en la modifiant pour qu'elle s'incrémente au bon endroit
cellule A1 mettre Archiv1\[
cellule B1 mettre 1
cellule C1 mettre .xls]Feuil1'!$D$4
cellule D1 mettre =CONCATENER(A1:C1)
et recopier vers le bas
normalement seul le 1 va s'incrémenter
Bonsoir Usul
ça devrait pouvoir marcher aussi,
mais est ce que cela peut fonctionner sans l'adresse complète?
par ailleurs,
je pense que ta formule en D1 est:
CONCATENER(A1;B1;C1)
car chez moi(mais c'est chez moi) CONCATENER(A1:C1) renvoi #VALEUR
je crois aussi que pour utiliser ensuite le code INDIRECT, tu as le même problème d'oubli que moi: il faut écrire en A1:
'Archive\1[ en commençant par l'apostrophe.
et bien cette solution n'exclut pas l'utilisation du code INDIRECT
Bien amicalement
ça devrait pouvoir marcher aussi,
mais est ce que cela peut fonctionner sans l'adresse complète?
par ailleurs,
je pense que ta formule en D1 est:
CONCATENER(A1;B1;C1)
car chez moi(mais c'est chez moi) CONCATENER(A1:C1) renvoi #VALEUR
je crois aussi que pour utiliser ensuite le code INDIRECT, tu as le même problème d'oubli que moi: il faut écrire en A1:
'Archive\1[ en commençant par l'apostrophe.
et bien cette solution n'exclut pas l'utilisation du code INDIRECT
Bien amicalement
Bonsoir Vaucluse
il faudrait que je prenne le temps de revoir tout ça car j'ai indiqué ça de mémoire.
j'ai mis en place une telle solution il y a longtemps et je n'ai pas vérifié sur mes fichiers toujours utilisés comment était réellement la formule.
je n'utilise pas le code INDIRECT dans ma formule donc pas besoin d'apostrophe. en plus si je me souviens bien la référence relative fonctionne bien si les classeur sont dans le même dossier donc l'apostrophe n'est pas nécessaire
dès que j'ai le temps je regarde mais en ce moment c'est un peu chaud ;-)
il faudrait que je prenne le temps de revoir tout ça car j'ai indiqué ça de mémoire.
j'ai mis en place une telle solution il y a longtemps et je n'ai pas vérifié sur mes fichiers toujours utilisés comment était réellement la formule.
je n'utilise pas le code INDIRECT dans ma formule donc pas besoin d'apostrophe. en plus si je me souviens bien la référence relative fonctionne bien si les classeur sont dans le même dossier donc l'apostrophe n'est pas nécessaire
dès que j'ai le temps je regarde mais en ce moment c'est un peu chaud ;-)
je m'en voudrais d'insister, car la solution marche, elle a déjà été validée plusieurs fois et je viens encore de le vérifier chez moi entre deux fichiers. mais il y a peut être un problème dans votre fichier ou dans vos désignations
effectivement, si vos fichiers sont dans le même dossier:
=INDIRECT("'["&LIGNE()&".xls]Feuil1'!D2"
devrait marcher
*controler de près, et n'oubliez pas: les apostrophes derrière le 1° guillemet et devant le point d'exclamation sont obligatoire
essayez pour voir cette formule sans utiliser ligne:
=INDIRECT("'[1.xls]Feuil1'!D2")
et dites nous ce qu'elle donne.
A vous lire
crdlmnt
ps vérifier aussi que l'adresse fonctionne en traditionnel, soit:
='[1.xls]Feuil1'!D2
effectivement, si vos fichiers sont dans le même dossier:
=INDIRECT("'["&LIGNE()&".xls]Feuil1'!D2"
devrait marcher
*controler de près, et n'oubliez pas: les apostrophes derrière le 1° guillemet et devant le point d'exclamation sont obligatoire
essayez pour voir cette formule sans utiliser ligne:
=INDIRECT("'[1.xls]Feuil1'!D2")
et dites nous ce qu'elle donne.
A vous lire
crdlmnt
ps vérifier aussi que l'adresse fonctionne en traditionnel, soit:
='[1.xls]Feuil1'!D2
Archiv1\[indirect(C1).xls]Feuil1!D4
Ici la colonne C équivaut à ta colonne de 1 à 100
je ne comprend pas la formule.
\archiv1 est le nom de dossier ou se trouve les fichiers 1, 2, 3, ... 100
j'ai un autre excel ou je souhaite recuperer les donnees du fichier 1, 2, 100. Feuil1'!D4
le probleme est que je tape en manuel :
'C:\.............. \Archiv1\[1.xls]Feuil1'!D4
'C:\.............. \Archiv1\[2.xls]Feuil1'!D4
'C:\.............. \Archiv1\[3.xls]Feuil1'!D4, etc