Salut
J'utilise cette macro pour récupérer les données d'un classeur fermé vers le classeur actif....elle fonctionne très bien. Je cherche la façon de faire l'inverse.
De prendre les valeurs d'une feuille du classeur actif et les tranféré vers le classeur fermé (la feuille porte le même nom dans les 2 classeurs.
Merci de votre aide
Macro pour la lecture :
Sub maj_clients()
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:\..........\donnee.xlsx"
'Nom de la feuille dans le classeur fermé
NomFeuille = "clients"
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=no;"""
.Open
End With
'-----------------
Sheets("clients").Activate
'Définit la requête.
'/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute(texte_SQL)
Range("A1").CopyFromRecordset Rst
'--- Fermeture connexion ---
Cn.Close
Set Cn = Nothing
End Sub
J'utilise cette macro pour récupérer les données d'un classeur fermé vers le classeur actif....elle fonctionne très bien. Je cherche la façon de faire l'inverse.
De prendre les valeurs d'une feuille du classeur actif et les tranféré vers le classeur fermé (la feuille porte le même nom dans les 2 classeurs.
Merci de votre aide
Macro pour la lecture :
Sub maj_clients()
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:\..........\donnee.xlsx"
'Nom de la feuille dans le classeur fermé
NomFeuille = "clients"
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=no;"""
.Open
End With
'-----------------
Sheets("clients").Activate
'Définit la requête.
'/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute(texte_SQL)
Range("A1").CopyFromRecordset Rst
'--- Fermeture connexion ---
Cn.Close
Set Cn = Nothing
End Sub