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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| Sub ActualisationLiaison()
'
Dim NombreDeCaracteres As Integer
Dim NumeroCaractere As Integer
Dim CaractereDepart As Integer
Dim NomFichier As String
Dim Chemin As String
Dim ChaineConnexion As String
Dim Reponse As VbMsgBoxResult
'Sélection fichier
Question = MsgBox("Sélectionner le fichier à connecter", vbInformation, "Saisie du fichier")
SaisieFichier:
On Error GoTo Fin
ChaineConnexion = "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=**Chemin**;Mode=Share Deny Write;Extended Properties=""HDR=YES;"";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Engine Type=37;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False"
Chemin = Application.GetOpenFilename
NombreDeCaracteres = Len(Chemin)
NumeroCaractere = InStrRev(Chemin, "\")
NomFichier = Right(Chemin, NombreDeCaracteres - NumeroCaractere)
Sheets("Global").Range("A1").Value = Chemin
Reponse = MsgBox("Vous allez connecter le fichier " & NomFichier & "", vbYesNo, "Résultat")
If Reponse = vbNo Then
GoTo SaisieFichier
End If
ChaineConnexion = Replace(ChaineConnexion, "**Chemin**", Chemin)
With ActiveWorkbook.Connections("ECROUS ST G").OLEDBConnection
.RefreshOnFileOpen = False
.BackgroundQuery = True
.CommandText = Array("'ST G$'")
.CommandType = xlCmdTable
.Connection = ChaineConnexion
.SourceConnectionFile = Chemin
.AlwaysUseConnectionFile = True
.EnableRefresh = True
.CommandText = "'ST G$'"
.Refresh
' au Refresh, ouverture de la pop up Sélectionner un tableau
' Ici j'ai testé plusieurs commandes sur objet OLEDBConnection (qui ne fonctionnent pas)
'.Reconnect
'.MakeConnection
'.SourceDataFile = Chemin
'.RefreshOnFileOpen = True
'.SavePassword = False
'.ServerCredentialsMethod = xlCredentialsMethodIntegrated
'.ServerFillColor = False
'.ServerFontStyle = False
'.ServerNumberFormat = False
'.ServerTextColor = False
End With
Fin:
MsgBox ("Erreur")
End Sub |
Partager