Mettre à jour une connexion ODBC
Salut !
Je dois automatiser la mise à jour d'une connexion ODBC, mais je n'arrive à rien avec un simple
With leclasseur
.Connections("Connexion1111").Refresh
End with
N'y a-t-il pas une histoire de pilote à spécifier ? Une Requête à faire ?
Je suis assez perdu avec les histoires de connexions aux Bases de données :/
Et bien ça ne déchaine pas les foules
Up !
J'ai tenté un truc, mais "Erreur d’exécution '1004' : Microsoft Excel actualise des données. Merci de réessayer plus tard."
L'erreur est sur la ligne surlignée.
Sub MaJ_Base()
Dim lejour$, lemois$, laveille, leclasseur As Workbook, WS As Worksheet
' Application.ScreenUpdating = False
' Application.DisplayStatusBar = False
' Application.Calculation = xlCalculationManual
lejour = Day(Date - 1)
If Len(lejour) = 1 Then
lejour = "0" & lejour
End If
lemois = Month(Date)
If Len(lemois) = 1 Then
lemois = "0" & lemois
End If
laveille = lemois & "/" & lejour & "/" & Year(Date)
Set leclasseur = Workbooks.Open(("xxx.xlsx"), ReadOnly:=False)
With leclasseur
.Sheets("Lancement").Range("C2").Value = laveille
.Connections("Connexion1111").Refresh
.RefreshAll
For Each WS In leclasseur.Worksheets
If WS.Name = "Base_OF" Then
WS.Activate
End If
Next WS
.Sheets("Base_OF").Range("A2").Select
Selection.QueryTable.Refresh BackgroundQuery:=False
Calculate
.Sheets("TCD Traverse").PivotTables("Tableau croisé dynamique3").RefreshTable
.Sheets("TCD Traverse détaillé").PivotTables("Tableau croisé dynamique3").RefreshTable
' .Sheets("TCD Traverse").PivotTables("Tableau croisé dynamique3").PivotFields("Date applicable").CurrentPage = laveille
' .Sheets("TCD Traverse détaillé").PivotTables("Tableau croisé dynamique3").PivotFields("Date applicable").CurrentPage = laveille
.Sheets("TCD Ressource").PivotTables("Tableau croisé dynamique1").RefreshTable
.Sheets("TCD Ressource détaillé").PivotTables("Tableau croisé dynamique1").RefreshTable
Calculate
End With
Application.DisplayAlerts = False
' ActiveWorkbook.Save
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.Calculation = xlCalculationAutomatic
ThisWorkbook.Close False
End Sub