Microsoft 365 Ecrire dans un classeur ferme

Gysmo5500

XLDnaute Nouveau
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
 

patricktoulon

XLDnaute Barbatruc
Bonjour
avant de décider d’écrire dans un fichier fermé avec Ado
pose toi la question si c'est vraiment nécessaire de prendre ce chemin
pourquoi je dis ça:
et bien on voit que tu copy la feuille entière du classeur fermé avec Ado dans le classeur actif
je me dit que si tu prends pas la peine de récupérer juste ce qui t'est nécessaire autant faire pareille
quand tu a modifié ou ajouté sur le classeur actif re sauve la feuille avec le nom du classeur source
et puis c'est tout amoins que ce classeur contienne plusieurs feuilles
 

Discussions similaires

Réponses
9
Affichages
281

Statistiques des forums

Discussions
314 422
Messages
2 109 447
Membres
110 482
dernier inscrit
ilyxxxh