XL 2010 Ecrire dans fichier fermé avec ExecuteExcel4Macro

jmh1

XLDnaute Occasionnel
Bonjour à tous,

J'ai trouvé comment récupérer des données avec la fonction ExecuteExcel4Macro mais rien pour écrire dans un fichier fermé avec cette même fonction. Est-ce possible ?

J'aimerai vraiment éviter de passer par une connexion ADO car je dois diffuser mon fichier sur le réseau de mon entreprise à un grand nombre de collaborateurs et j'ai peur d'avoir à me déplacer sur tous les postes pour cocher les références VBA qui vont bien (beaucoup de personnes ne chercheront pas à faire la manip même si je met en place une procédure d'activation !).

Merci pour votre aide.
 

Lone-wolf

XLDnaute Barbatruc
Bonjour jmh

Je ne sais pas si c'est possible, sinon une autre proposition et faudra changer le chemin du classeur de destination.

VB:
Option Explicit
Sub Copier()
Dim ThisWb As Workbook, ActWb As Workbook
Dim chemin As String,  plage As Range

    chemin = ThisWorkbook.Path & "\Fichiers\Destination.xls"

    Set ThisWb = ThisWorkbook
    Set plage = ThisWb.Sheets(1).Range("a1:n23")
    Set ActWb = Workbooks.Open(chemin)
    plage.Copy ActWb.Sheets(1).Range("a1")
    ActWb.Close True
End Sub
 

jmh1

XLDnaute Occasionnel
Bonjour Lone Wolf

Merci pour ta réponse mais ta solution ouvre le fichier destination et si plusieurs utilisateurs font la manip en même temps, mon code va planter !

Je voudrai vraiment ne pas ouvrir le fichier de destination
 

job75

XLDnaute Barbatruc
Bonjour jmh1, Lone-wolf,
J'ai trouvé comment récupérer des données avec la fonction ExecuteExcel4Macro mais rien pour écrire dans un fichier fermé avec cette même fonction. Est-ce possible ?
ExecuteExcel4Macro est une fonction qui renvoie l'évaluation d'une formule.

Comme toute fonction elle ne peut rien modifier.

Pour écrire dans un fichier fermé il n'y a que la méthode ADO.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 194
Messages
2 086 064
Membres
103 110
dernier inscrit
Privé