Modifier un chemin d'accès opur une importation de données externes

Signaler
Messages postés
15
Date d'inscription
vendredi 15 décembre 2000
Statut
Membre
Dernière intervention
12 août 2008
-
Messages postés
42
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
11 septembre 2010
-
Salut tout le monde,
J'ai créé une macro pour importer et trier des données automatiquement mais comme nous sommes en réseau, il faut que l'utilisateur puisse changer le chemin d'accès. J'ai donc créé une case dans un autre onglet avec le chemin à entrer mais quand je rentre l'adresse de ma case dans la macro, il me dit que la formulation n'est pas bonne qu'il faut que je rentre un argument ou une ). Voici ce que j'ai écrit, dite moi où se trouve ma ou mes erreurs si vous les trouvez...
   With ActiveSheet.QueryTables.Add(Connection:=Array( _
        "OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=Sheets("lancement").Cells (5,"E")" _
        , _
        ";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:G" _
        , _
        "lobal Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=F" _
        , _
        "alse;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False" _
        ), Destination:=Range("A3"))

Autre question :le fait qu'au début du programme, on aie With ActiveSheet, cela signifie-t-il qu'il faut se mettre dans la feuille où l'on veut que les données soient exportées ? (Je sais, ça peut paraître un peu bizarre comme question mais en fait je suis passée par l'enregistrement pour faire ma macro )

Merci à tous !!!
Nolwenn

1 réponse

Messages postés
42
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
11 septembre 2010

Bonjour,






With ActiveSheet = feuille en cours d'utilisation, à remplacer éventuellement par la feuille avec laquelle tu travailles






Tu as donc créer ta macro avec la cellule : Cells (5,"E") et tu rangeras le résultat dans :
Destination:=Range("A3")






Cells (5,"E")  est à remplacer par la zone qui t'intéresse
Destination:=Range("A3")  le Range("A3") est à remplacer par la zone de destination qui t'intéresse

A+