Bonjour,
J'ai lu le tuto de SilkyRoad sur "Lire et écrire dans les classeurs Excel fermés".
Pour vous donner ma situation :
-J'ai un 1er classeur en .xlsm me servant de base de données, que j'ai nommé "BDD TMT.xlsm" et dont mes données se trouvent sur la première feuille nommé "Topics".
-J'ai un 2ème classeur en .xlsm me servant de visionneuse, que j'ai nommé "Topic Management Tool.xlsm" et dont les données de la feuille "Topics" du classeur fermé "BDD TMT.xlsm" sont récupérés dans la 1ère feuille nommé aussi "Topics" via la macro suivante :
Donc j'arrive bien à récupérer les données de mon classeur fermé "BDD TMT.xlsm" mais je n'arrive pas à comprendre comment je peux modifier les données et écrire des nouvelles données (nouvelles lignes) dans mon classeur fermé "BDD TMT.xlsm" à partir de mon classeur ouvert "Topic Management Tool.xlsm".
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 Sub Import_Data() Dim Cn As ADODB.Connection Dim Fichier As String Dim NomFeuille As String, texte_SQL As String Dim Rst As ADODB.Recordset 'Définit le classeur fermé servant de base de données Fichier = "C:\BDD TMT.xlsm" 'Nom de la feuille dans le classeur fermé NomFeuille = "Topics" Set Cn = New ADODB.Connection '--- Connection --- With Cn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _ & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;""" .Open End With '----------------- 'Définit la requête. texte_SQL = "SELECT * FROM [Topics$]" Set Rst = New ADODB.Recordset Set Rst = Cn.Execute(texte_SQL) 'Ecrit le résultat de la requête dans la cellule A2 Range("A2").CopyFromRecordset Rst '--- Fermeture connexion --- Cn.Close Set Cn = Nothing End Sub
Bref je souhaiterai renvoyez toute mes modifications et mes nouvelles données de mon classeur ouvert "Topic Management Tool.xlsm" dans mon classeur fermé "BDD TMT.xlsm" et je n'arrive pas à comprendre et appliquer la partie IV-B. Ajouter un enregistrement et IV-C. Modifier les enregistrements du tuto de SilkyRoad.
Est-ce que quelqu'un peut m'aider, svp ?
Merci d'avance
Partager