Bonjour,
J'ai tenté ma question sur le forum VBA excel mais sans succès, alors je la tente ici.
J'ai développé une macro VBA Excel qui va lire les donnée de la base de donnée Hyperfile (Windev) à l'aide des pilote ODBC Hyper File 7.
Je n'ai pas Windev mais j'ai réussi à installer les pilote sur mon ordinateur (WINDOWS 8.1 en 64bit - MS Office 2010 en 32 bit)
Ma macro Excel que va chercher une table de la base de données et la recopie dans l'onglet "Test".
Elle marche très bien pour la table "normale" mais pas pour les tables Alias
Si quelqu'un a une solution?? il aura mon éternelle reconnaissance.
Bonne journée
Si dessous le code:
Gestan : est le nom de la source de données utilisateur.
Chemin3 : est le chemin du fichier *.wdd - "C:\PROGRAM FILES (X86)\GESTAN\Gestan.wdd"
Chemin1: est le chemin de complet de la base - "C:\Users\.....\DATABASE"
FACTURE : est le nom de la table.
Ce code marche pour la table FACTURE mais pas pour la table AVOIR qui est aliasé.
Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 With ActiveSheet.ListObjects.Add( _ SourceType:=0, _ Source:=Array("ODBC;DSN=Gestan;ANA=" + Chemin3 + ";REP= " + Chemin1 + ";Server Name=;Server Port=;Database=;UID=;PWDXX=;Encryption="), Destination:=Range("Test!$A$1")) _ .QueryTable .CommandText = Array("SELECT * FROM ""FACTURE""~""" + Chemin3) .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .SourceConnectionFile = Chemin2 + "DATABASE FACTURE.odc" .ListObject.DisplayName = "Tableau_DATABASE_FACTURE" .Refresh BackgroundQuery:=False End With
Partager