Bonjour a tous
Voila je suis confronter à fusionner plus de 100 classeurs de une feuille en un classeur de une feuille.
j'ai fouiller sur le forum et je suis tomber sur la faq :
http://excel.developpez.com/faq/?pag...onClasseursADO
Étant novice dans le vba de excel j'ai copier le code comme suis voir capture mais il me donne une erreur a l’exécution
pouvez vous m'aider !
Code vba : 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
40
41
42
43
44
45
46
47
48 Sub Test() 'Test Macro 'Nécessite d'activer la référence 'Microsoft ActiveX Data Objects x.x Library Dim Cn As ADODB.Connection Dim Rs As ADODB.Recordset Dim xConnect As String, Cible As String Dim Fichier As String, Dossier As String, Feuille As String Dim i As Long 'nom du répertoire contenant les classeurs à regrouper Dossier = "D:\Users\Devalender\Desktop\favidetci\liste" 'Nom de la feuille dans les classeurs fermés 'Ne pas oublier le symbole $ après le nom de la feuille Feuille = "A" i = 2 Fichier = Dir(Dossier & "\*.xls") 'boucle sur les fichiers du repertoire Do While Len(Fichier) > 0 xConnect = "DRIVER={Microsoft Excel Driver (*.xls)};" & _ "ReadOnly=1;DBQ=" & Dossier & "\" & Fichier 'connection classeur Set Cn = New ADODB.Connection Cn.Open xConnect 'Requete Cible = "SELECT * FROM [" & Feuille & "];" Set Rs = New ADODB.Recordset Rs.Open Cible, xConnect, adOpenStatic, adLockOptimistic, adCmdText 'Ecriture dans la feuille de calcul If Not Rs.EOF Then Cells(i, 1).CopyFromRecordset Rs i = Cells(i, 1).End(xlDown).Row + 1 Rs.Close Cn.Close Set Cn = Nothing Set Rs = Nothing Fichier = Dir() Loop MsgBox "Terminé" End Sub
Partager