Importer données - Adresse source dans une cellule

Adri74

XLDnaute Nouveau
Bonjour,
Je cherche à importer des données d'un fichier excel vers un fichier excel. En fait, je cherche à importer une feuille entière vers une feuille entière.
Pour le moment pas trop difficile.

Là où ça se complique pour moi, c'est que j'aimerais avoir l'adresse du fichier source en variable dans une cellule.
Disons que je travaille sur le fichier "exemple.xls". Dans la feuil1 en A1 il y aurait: "C:\Mes Documents\source.xls" saisi sous forme de texte.

Je souhaiterais avoir une macro à l'ouverture du fichier qui aille chercher dans le fichier "source.xls" la feuil1 et importe les données vers le fichier "exemple.xls" dans la feuil2.

Voici mon code (qui ne marche pas). Il provient de l'enregistreur de macro, avec quelques modifications.
Code:
Sub ImporterDonnées ()

AdresseSource = Sheets("Feuil1").Range("A1").Value

    With ActiveSheet.QueryTables.Add(Connection:=Array( _
        "OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=AdresseSource;Mode=Share Deny Write;Extended Properties=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path=""" _
        , _
        """;Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;" _
        , _
        "Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt" _
        , _
        " Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False" _
        ), Destination:=Range("A1"))
        .CommandType = xlCmdTable
        .CommandText = Array("’Feuil1'")
        .Name = "Feuil1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .SourceDataFile = _
        "AdresseSource"
        .Refresh BackgroundQuery:=False
    End With
End Sub

Ce code ne fonctionne pas. Est ce que quelqu'un aurait une idée pour m'aider ?
Merci d'avance.

Adri74
 
Dernière édition:

Discussions similaires