Bonjour tout le monde,
Voici mon problème :
j'ai plusieurs fichiers excel identiques (le nombre varie entre 1 et 25 à peu près...) avec une feuille à usage de base de données.
Je souhaite que, à partir d'un fichier ouvert, l'utilisateur puisse importer les feuilles de données des autres fichiers dans le sien.
A l'heure actuelle, j'arrive à importer les données de ces fichiers mais sous forme de valeurs... seulement certaines cases sont amenées à contenir des formules et le transfert ne les importe pas...
voici le code que j'utilise :
Est ce que quelqu'un aurait une idée pour faire évoluer le code ou même pour le changer complètement : je suis ouvert à toute proposition !
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 Dim Connection As New ADODB.Connection Dim FeuilleSource As String Dim Data As String Dim Rec As New ADODB.Recordset For i = 1 To NbFiles 'Définit le classeur fermé servant de base de données Fichier = Workbooks(ActiveWorkbook.Name).Path & "\" & ListBasePrgm(i) 'Nom de la feuille dans le classeur fermé FeuilleSource = "DataBase" With Connection .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=" & Fichier & ";Extended Properties=""Excel 8.0;HDR=YES;""" .Open End With 'Définit la requête. Data = "SELECT * FROM [" & FeuilleSource & "$]" Set Rec = Connection.Execute(Data) Feuil1.Cells(1, 1).CopyFromRecordset Rec 'Fermeture connexion Connection.Close Set Connection = Nothing
Merci d'avance pour votre aide !
Partager