Excel - Lier tableau/liste de fichiers différents

Asked By proberto87 on 12-Apr-12 04:59 AM
Bonjour ? tous,

j'ai rencontr? un probl?me en ce qui concerne la liaison entre deux
tableaux/listes de deux fichiers diff?rents.

Je m'explique. J'ai un premier fichier source dans lequel j'ai cr?? un tableau
sous forme de liste. J'ai fait de la sorte car en dessous du tableau il y a du
contenu et vu que la longueur du tableau n'est pas pr?d?finie, je voudrais que
la longueur s'adapte au contenu.

Ensuite il y a le fichier destination, et je voudrais qu'il reprenne les
informations contenues dans le fichier source. Cependant l? aussi je voudrais
que la longueur du tableau liste varie en fonction des donn?es inser?es.
Mon probl?me est que le fichier destination ne se met pas ? jour. La premi?re
ligne de la liste oui, car j'y ai copi? les r?f?rences. Les lignes suivantes
non, il faut pour  cela descendre la formule sur l'ast?risque, mais ce processus
n'est pas confortable vu qu'on ne connait pas le contenu de liste du fichier
source.

Sauriez-vous m'aider ? r?soudre ce probl?me?

Merci d'avance,

Roberto


isabelle replied to proberto87 on 12-Apr-12 10:56 AM
bonjour Roberto,

si vous nomm? la plage sur le fichier source vous pouvez cr?er une requ?te sur le 2?me fichier.

extrait de l'aide xl2002
----------------------------------------------------------------------------------------------
menu, donn?es, donn?es externes, cr?er une requ?te

L'Assistant Connexion de donn?es, qui s'affiche lorsque vous cliquez sur Nouvelle source
dans la bo?te de dialogue Source de donn?es, permet d'importer des donn?es ? partir de
connexions de donn?es externes qui n'apparaissent pas dans la bo?te de dialogue S?lectionner la source de donn?es.

---------------------------------------------------------------------------------------------

--
isabelle




Le 2012-04-12 04:59, proberto87 a ?crit :
proberto87 replied to isabelle on 13-Apr-12 06:16 AM
Le jeudi 12 Avril 2012 ? 16:56 par isabelle :
----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
du
Bonjour Isabelle,

pourriez m'expliquer le proc?d? pour cr?er la plage?

Merci bien.

Roberot
isabelle replied to proberto87 on 13-Apr-12 09:07 AM
bonjour Roberot,

par exemple si les donn?es sont en A1:Bx

s?lectionner au menu, insertion, nom, d?finir

Nom dans le classeur: plg

Fait r?f?rence ?: =DECALER(Feuil1!$A$1;;;NBVAL(Feuil1!$A:$A);NBVAL(Feuil1!$1:$1))

ensuite menu, donn?es, donn?es externes, cr?er une requ?te, Nouvelle source

voir l'image pour l'Assistant Connexion de donn?es,
- http://cjoint.com/?BDnpfGDmC8z


--
isabelle



Le 2012-04-13 06:16, proberto87 a ?crit :
proberto87 replied to isabelle on 13-Apr-12 10:24 AM
Le vendredi 13 Avril 2012 ? 15:07 par isabelle :
Merci pour la consid?ration.

La m?thode fonctionne. Cependant, le fichier destination ne garde pas le m?me
format de la source (format de la liste inclu) Les colonnes qui ont ?t?
fusionn?es se sont divis?es, etc...

Y a t-il un moyen pour transf?rer l'enti?re feuille comme elle se trouve dans le
fichier source? Car la feuille reprend toute les donn?es dont j'ai besoin....

Merci encore.
isabelle replied to proberto87 on 13-Apr-12 10:56 AM
Le 2012-04-13 10:24, proberto87 a ?crit :


cela est pareil que si vous utilisez une formule


c'est possible uniquement avec une macro,

par exemple,

tu peut faire une copie de l'onglet du fichier source dans le fichier actif

Sub CopierOnglet()
Dim wks As Workbook, fichierSource As String, FeuilleSource As String
Set wks = ActiveWorkbook
Application.ScreenUpdating = False
pathSource = "C:\Documents and Settings\Administrateur\Mes documents\EssaieExcel\"
fichierSource = "ClasseurA.xls"
FeuilleSource = "Feuil1"
Workbooks.Open Filename:=pathSource & fichierSource

With Workbooks(fichierSource)
.Sheets(FeuilleSource).Copy Before:=wks.Sheets(1)
.Close SaveChanges:=False
End With

Application.ScreenUpdating = True
End Sub

ou bien tu peut faire une copie des cellules de la feuille du fichier source sur la feuille1 du fichier actif

Sub CopierCellule()
Dim wks As Workbook, fichierSource As String, FeuilleSource As String
Set wks = ActiveWorkbook
Application.ScreenUpdating = False
pathSource = "C:\Documents and Settings\Administrateur\Mes documents\EssaieExcel\"
fichierSource = "ClasseurA.xls"
FeuilleSource = "Feuil1"
Workbooks.Open Filename:=pathSource & fichierSource

With Workbooks(fichierSource)
.Sheets(FeuilleSource).Cells.Copy wks.Sheets(1).Range("A1")
.Close SaveChanges:=False
End With

Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub


--
isabelle
isabelle replied to isabelle on 13-Apr-12 11:03 AM
correction:
dans les 2 macro ajouter la d?claration pathSource As String

--
isabelle



Le 2012-04-13 10:56, isabelle a ?crit :
proberto87 replied to isabelle on 17-Apr-12 09:15 AM
Le vendredi 13 Avril 2012 ? 17:03 par isabelle :
Merci bien, j'essairai tout ?a calmement!

Bonne apr?s-midi