Bonjour,
Un petit problème se pose à moi.
J'ai réalisé plusieurs macros pour faire des traitements sur les données dans un fichier Excel principal.
Celui importe dans 2 feuilles différentes 2 autres feuilles Excel venant de fichier différent.
En clair, j'ai mon fichier retraitement qui importe une balance et un plan comptable.
Mon soucis est qu'il y a une feuille qu'il n'importe pas correctement, il oublie des colonnes et c'est plutôt génant. Voici le code d'importation pour le fichier balance. Il n'y a pas de soucis pour le plan comptable.
Code :
Sheets("Balance").Select
Range("A1").Select
With ActiveSheet.QueryTables.Add(Connection:=Array( _
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=\\Srv-data-wz\TOUS\JEROME DIMITRI\Retraitement des bal" _
, _
"ances\Retraitement\balance.xls;Mode=Share Deny Write;Extended Properties=""HDR=NO;"";Jet OLEDB:System database="""";Jet OLEDB:Regist" _
, _
"ry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bu" _
, _
"lk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLED" _
, _
"B:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:S" _
, "FP=False"), Destination:=Range("A1"))
.CommandType = xlCmdTable
.CommandText = Array("Sage$")
.Name = "balance"
.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 = _
"\\Srv-data-wz\TOUS\JEROME DIMITRI\Retraitement des balances\Retraitement\balance.xls"
.Refresh BackgroundQuery:=False
End With
Comme vous pouvez le voir, c'est de l'automatique.
Ce qui est étrange, c'est que ça marche avec un autre fichier ayant exactement la même structure. Il n'y a que les données qui diffèrent.
Pour information, c'est la dernière colonne qu'il me supprime (il y en a 6 au total dans la feuille).
merci de votre aide.
damien