Bonjour à tous.
J’ai un petit souci avec une macro de Theze que j’ai trouvé dans une autre discussion.
A l’initialisation de l’useform voici le message qui s’affiche : "La table externe n’est pas dans le format attendue."
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub ConnectCLasseur(ConnectCL As Object, Fichier As String, Optional Rs) Set ConnectCL = CreateObject("ADODB.Connection") If Not IsMissing(Rs) Then Set Rs = CreateObject("ADODB.Recordset") End If ConnectCL.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Fichier & ";" & _ "Extended Properties=""Excel 8.0;HDR=NO;IMEX= 1;""" End SubJ'utilise Excel 2010 c'est peut être la source du problème ?
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
27
28
29
30
31
32
33
34
35
36
37
38
39 Private Sub UserForm_Initialize() Dim ConnectCL As Object Dim Rs As Object Dim Tbl() Dim Classeur As String Dim NomFeuille As String Dim Plage As String Dim I As Integer 'chemin du classeur cible Classeur = "D:\Classeur2.xls" 'cellules à lire Plage = "A1:A10" 'nom de la feuille où se trouve la plage NomFeuille = "Feuil1" 'connecxion ConnectCLasseur ConnectCL, Classeur, Rs With Rs .CursorType = 1 .LockType = 3 'récup des valeurs .Open "SELECT * FROM `" & NomFeuille & "$" & Plage & "` ", ConnectCL 'dimensionne le tableau au nombre de valeurs (ici 10) .MoveFirst ReDim Tbl(1 To .RecordCount) .MoveFirst 'rempli le tableau Do While Not .EOF I = I + 1 Tbl(I) = .Fields(0).Value .MoveNext Loop End With 'ferme la connexion ConnectCL.Close 'rempli le combo ComboBox1.List() = Tbl Set Rs = Nothing Set ConnectCL = Nothing End Sub
Partager