PB Importation de données

c0rentin59

XLDnaute Nouveau
Bonsoir à tous,

J'ai créer une Macro (en mode enregisteur) pour importer des données.
Celle-ci consiste à importer des données d'un fichier A dans un autre fichier B.

Or le nom du fichier A varie.
il se nomme : "m6 10102010 avant.xls", si nous somme le 10 octobre 2010.
La partie de code doit donc comporter une variable et l'utilisateur
indique la date grâce à un "inputbox"

La variable prend donc la valeur de la date. ex "10102010"

Ensuite il faut insérer la variable dans le code de l'importation des données.

Voilà ce que ça donne mais le résultat > erreur

voici le code:

Public Sub importation()

'Déclaration des variables

Dim v As Integer

' 1ère étape: On demande la date du fichier pour lequel on veut importer les données.

v = InputBox("Entrer la date sous la forme 'jjmmaaaa'", "Date")


' 2ème étape: On copie les éléments du fichier "m6 avant xx/xx/xxxx" (fichier A) dans l'onglet "av" du fichier B.

With ActiveSheet.QueryTables.Add(Connection:=Array( _
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=C:\Users\Desktop\test\m6 " & v & " avant.xls;Mode=" _
, _
"Share Deny Write;Extended Properties=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Passw" _
, _
"ord="""";Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Tran" _
, _
"sactions=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 = "m6 " & v & " avant"
.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 = "C:\Users\Desktop\test\m6 " & v & " avant.xls"
.Refresh BackgroundQuery:=False
End With

end sub

Le code n'est pas très clean mais mais compétence en VB ne me permettent pas de le créer sans l'enregisteur de macro.

Si qq à une piste...
Ca m'intéresse :rolleyes:

A toute!
 

JNP

XLDnaute Barbatruc
Re : PB Importation de données

Bonsoir Corentin59 :),
De base, v est déclaré comme Integer qui est limité à 32 767, alors que la date donnée en exemple, 10102010 fait 10 102 010... Essaie déjà de déclarer v en Long (limité à 2 147 483 647).
Bon courage :cool:
 

Discussions similaires

Réponses
4
Affichages
2 K
Réponses
1
Affichages
1 K

Statistiques des forums

Discussions
312 219
Messages
2 086 372
Membres
103 198
dernier inscrit
CACCIATORE