Re : erreur "1004"
j'ai une erreur 9 "l'indice n'appartient pas a la selection"
Sub litEpreuvesLogica()
'
Dim nbLignes As Integer, i As Integer
MsgBox ("Le traitements est long." & vbCrLf & "Patientez jusqu'au prochain message")
Application.StatusBar = "Patientez pendant la mise à jour des épreuves à partir de Logica"
Application.ScreenUpdating = False
Application.EnableEvents = False
With ThisWorkbook.Sheets("Epreuve")
.Select
RequèteEpreuves
Application.StatusBar = "Patientez pendant la mise en forme des épreuves"
' met à jour paramètre salle
nbLignes = Range("A1").CurrentRegion.Rows.Count
.Range(Cells(2, 9), Cells(nbLignes, 28)).ClearContents
.Cells(2, 7).AutoFill Range(Cells(2, 7), Cells(nbLignes, 7))
.Cells(2, 8).AutoFill Range(Cells(2, 8), Cells(nbLignes, 8))
Worksheets("Epreuve").Calculate
' trie famille, salle, ordre édition
.Range("A1").Select
Selection.CurrentRegion.Select
Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range("G2") _
, Order2:=xlAscending, Key3:=Range("E2"), Order3:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
Private Sub RequèteEpreuves()
Dim i As Integer
Dim str_Connection As String
Dim str_SqlFrom As String
On Error GoTo erReur
VariablesRequètes
' supprime définitions multiples éventuelles
For i = ActiveSheet.QueryTables.Count To 1 Step -1
ActiveSheet.QueryTables(i).Delete
Next
'connection
str_Connection = "ODBC;DSN=MS Access Database;DBQ=" & _
str_NomBaseDonnées & ";DefaultDir=" & str_RepBase & ";DriverId=28"
str_SqlFrom = "FROM `" & str_NomBase & "`.tEpreuve tEpreuve"
With ActiveSheet.QueryTables.Add(Connection:=Array(Array(str_Connection) _
, Array("1;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;")), _
Destination:=Range("A1"))
.Sql = Array( _
"SELECT tEpreuve.CodeAppel, tEpreuve.NomEpreuve, tEpreuve.CodeFamille, tEpreuve.CodeCategorie, tEpreuve.OrdreEdit,tEpreuve.FormatPerf" _
& Chr(13) & "" & Chr(10), _
str_SqlFrom _
& Chr(13) & "" & Chr(10) & "WHERE (tEpreuve.NoEpreuve Not Like '%M')" _
, Chr(13) & "" & Chr(10) & "ORDER BY tEpreuve.CodeFamille, tEpreuve" _
, ".OrdreEdit")
.FieldNames = True
.RefreshStyle = xlOverwriteCells
.RowNumbers = False
.FillAdjacentFormulas = True
.RefreshOnFileOpen = False
.HasAutoFormat = True
.BackgroundQuery = False
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SavePassword = True
.SaveData = True
End With
ActiveSheet.QueryTables(1).Name = "DonnéesExternes1"
Exit Sub
erReur:
ErreurBaseDeDonnées
End Sub