Bonjour à tous,

J'aurais besoin de modifier automatiquement le code SQL de requêtes ODBC sur excel
(si je veux les modifier manuellement je me mets sur mon tableau de données et je fais /données/Propriétés/Je vais dans l'onglet définition puis je colle mon nouveau code dans le Texte de commande.)

Toujours est-il que j'ai vainement essayé de trouver une solution (je suis une chèvre totale en VBA); ça marche de manière relativement bancale pour les codes de 20 caractères...(voir ci-dessous)
Mais je me retrouve toujours avec le code erreur "Trop de caractères de continuité de ligne" dès que je place une requête un peu conséquente.

De plus j'imagine que ce que j'ai fait avec l’enregistreur de macros doit être une pure hérésie pour la plupart d'entre vous.

En espérant que cela soit possible, je vous remercie par avance.
Matthieu


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
21
22
23
24
25
26
Sub Macro1()
'
' Macro1 Macro
'
 
'
    ActiveCell.FormulaR1C1 = "select * from gescom.gescomf.artic"
    Range("C9").Select
    With ActiveWorkbook.Connections("Lancer la requête à partir de GESCOMF"). _
        ODBCConnection
        .BackgroundQuery = False
        .CommandText = Array("select * from gescom.gescomf.artic")
        .CommandType = xlCmdSql
        .Connection = "ODBC;DSN=GESCOMF;"
        .RefreshOnFileOpen = False
        .SavePassword = False
        .SourceConnectionFile = ""
        .ServerCredentialsMethod = xlCredentialsMethodIntegrated
        .AlwaysUseConnectionFile = False
    End With
    With ActiveWorkbook.Connections("Lancer la requête à partir de GESCOMF")
        .Name = "Lancer la requête à partir de GESCOMF"
        .Description = ""
    End With
    ActiveWorkbook.Connections("Lancer la requête à partir de GESCOMF").Refresh
End Sub