Bonjour,

J'ai créé une connection ODBC et j'ai reussi a créée une macro contenant une requete d'exportation.

Code : 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(Array( _
        "ODBC;DSN=dataP;DBQ=K:\********\Base de données.xlsx;DefaultDir=K:\*******" _
        ), Array( _
        "RAA\Fichiers;DriverId=1046;FIL=excel 12.0;MaxBufferSize=2048;PageTimeout=5;")) _
        , Destination:=Range("$A$1")).QueryTable
        .CommandText = Array("SELECT DISTINCT `_xlnm#_FilterDatabase`.Désignation,`_xlnm#_FilterDatabase`.Nom,  `_xlnm#_FilterDatabase`.ville" & Chr(13) & "" & Chr(10) & "FROM `_xlnm#_FilterDatabase` `_xlnm#_FilterDatabase`" & Chr(13) & "" & Chr(10) & "WHERE (`_xlnm#_FilterDatabase`.No", "m='JEAN')" & Chr(13) & "" & Chr(10) & "ORDER BY `_xlnm#_FilterDatabase`.Désignation")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "Tableau_Lancer_la_requête_à_partir_de_dataP6"
        .Refresh BackgroundQuery:=False
    End With

Est il possible de créer des requete de type INSERT ou UPdate toujours via des macro excel merci.

Cordialement