P
pape
Guest
J'ai un probléme depuis une semaine.
J'ai des fichiers excel qui marchent avec une base access que je veux migrer en base sql server.
Comment faire pour modifier la chaîne de connexion vers ma nouvelle base de données.
Cordialement.
PS : Voici le bout de code qu'une personne a fait, mais qui ne fonctionne pas..
-------------------------------------------------------------------------
Sub test()
MsgBox Worksheets("Feuil1").QueryTables.Count
With Worksheets("Feuil1") 'Nom Feuille à redéfinir
.Range("c2") = Worksheets("Feuil1").QueryTables(1).Connection
.Range("d2") = Worksheets("Feuil1").QueryTables(1).CommandText
End With
Dim OldName As String, NewName As String
Dim Sh As Worksheet, Qt As QueryTable
OldName = "c:\bd1.mdb"
NewName = "c:\bd2.mdb"
For Each Sh In Worksheets
For Each Qt In Sh.QueryTables
If InStr(Qt.Connection, OldName) > 0 Then
Qt.Connection = Replace(Qt.Connection, OldName, NewName)
Qt.CommandText = Replace(Qt.CommandText, Left(OldName, Len(OldName) -
4), Left(NewName, Len(NewName) - 4))
Qt.Refresh True
Else
End If
Next
Next
With Worksheets("Feuil1") 'Nom Feuille à redéfinir
.Range("c3") = Worksheets("Feuil1").QueryTables(1).Connection
.Range("d3") = Worksheets("Feuil1").QueryTables(1).CommandText
End With
End Sub
J'ai des fichiers excel qui marchent avec une base access que je veux migrer en base sql server.
Comment faire pour modifier la chaîne de connexion vers ma nouvelle base de données.
Cordialement.
PS : Voici le bout de code qu'une personne a fait, mais qui ne fonctionne pas..
-------------------------------------------------------------------------
Sub test()
MsgBox Worksheets("Feuil1").QueryTables.Count
With Worksheets("Feuil1") 'Nom Feuille à redéfinir
.Range("c2") = Worksheets("Feuil1").QueryTables(1).Connection
.Range("d2") = Worksheets("Feuil1").QueryTables(1).CommandText
End With
Dim OldName As String, NewName As String
Dim Sh As Worksheet, Qt As QueryTable
OldName = "c:\bd1.mdb"
NewName = "c:\bd2.mdb"
For Each Sh In Worksheets
For Each Qt In Sh.QueryTables
If InStr(Qt.Connection, OldName) > 0 Then
Qt.Connection = Replace(Qt.Connection, OldName, NewName)
Qt.CommandText = Replace(Qt.CommandText, Left(OldName, Len(OldName) -
4), Left(NewName, Len(NewName) - 4))
Qt.Refresh True
Else
End If
Next
Next
With Worksheets("Feuil1") 'Nom Feuille à redéfinir
.Range("c3") = Worksheets("Feuil1").QueryTables(1).Connection
.Range("d3") = Worksheets("Feuil1").QueryTables(1).CommandText
End With
End Sub