Ecrire depuis un classeur dans un autre via une macro

titymax

XLDnaute Occasionnel
Bonjour,

Je tourne et retourne dans tous les sens et je n'arrive pas à trouver la solution qui permette d'écrire depuis un classeur A via une macro dans un classeur B (je pécise que ces 2 classuers sont ouverts).

Voici mon code :

Sub export()
'Dim Wbk1 As Workbook, Wbk2 As Workbook

Set Wbk1 = ThisWorkbook
Set Wbk2 = Workbooks("Portefeuille.xls")


Wbk2.Sheets("PORTEFEUILLE").Range("C4") = Now
Wbk2.Sheets.Sheets("PORTEFEUILLE").Range("D4").FormulaLocal = "Aujourdhui()-C4"
Wbk2.Sheets.Sheets("PORTEFEUILLE").Range("O4") = Wbk1.Worksheets(Feuil1).Range("A1")

End Sub

Dans ce code le classeur A est Wbk1 et le classeur B est Wbk2.

Pour info, cette macro doit être exécutée à la fermeture du classeur.

Help me please !!

Bonnes fêtes à tous
 

CHALET53

XLDnaute Barbatruc
Re : Ecrire depuis un classeur dans un autre via une macro

Sub export()
'Dim Wbk1 As Workbook, Wbk2 As Workbook

Set Wbk1 = ThisWorkbook
Set Wbk2 = Workbooks("Portefeuille.xls")

Bonjour,

Il y a peut-être un : sheet de trop dans les deux lignes

Wbk2.Sheets("PORTEFEUILLE").Range("C4") = Now
Wbk2.Sheets("PORTEFEUILLE").Range("D4").FormulaLocal = "Aujourdhui()-C4"
Wbk2.Sheets("PORTEFEUILLE").Range("O4") = Wbk1.Worksheets(Feuil1).Range("A1")


End Sub
 

titymax

XLDnaute Occasionnel
Re : Ecrire depuis un classeur dans un autre via une macro

Bonjour et merci Chalet,

Oui effectivement, mais cela est une erreur de frappe, dans les faits la syntaxe est bonne. Non, là où ça bloque, c'est à :
"Set Wbk2 = Workbooks("Portefeuille.xls")"
C'est ce que je ne comprends pas... il doit y avoir une subtilité qui m'échappe....
 

Staple1600

XLDnaute Barbatruc
Re : Ecrire depuis un classeur dans un autre via une macro

Bonjour à tous


La formule ne devrait-elle pas être ?
FormulaLocal = "=Aujourdhui()-C4"

Et PORTEFEUILLE et portefeuille sont pourtant la même chose pour Windows ;)

Ceci marche chez moi donc normalement ton code...
Code:
Sub a()
Dim wA As Workbook, wB As Workbook
Set wA = ThisWorkbook
Set wB = Workbooks("AA.xls")
MsgBox wA.Name
MsgBox wB.Name
End Sub
 
Dernière édition:

titymax

XLDnaute Occasionnel
Re : Ecrire depuis un classeur dans un autre via une macro

Bonjour et merci Stapple,

Oui, c'est aussi une erreur, mais ce n'est pas celle qui me gêne pour l'heure. Je n'arrive pas à lui faire comprendre que je veux aller écrire dans le fichier "Portefeuille.xls" qui est ouvert...
 

CHALET53

XLDnaute Barbatruc
Re : Ecrire depuis un classeur dans un autre via une macro

bonjour à tous

La remarque de Staple1600 me paraît fondée

j'ai testé ton code sur deux fichiers : ça fonctionne (y compris : Set Wbk2 = Workbooks("Portefeuille.xls") avec un autre nom de fichier présent chez moi)

es-tu sûr de l'appellation exact de ton fichier et de son extension?

Wbk2.Sheets.Sheets("PORTEFEUILLE").Range("O4") = Wbk1.Worksheets(Feuil1).Range("A1")
sans doute à mettre entre guillemets

a+
 

Staple1600

XLDnaute Barbatruc
Re : Ecrire depuis un classeur dans un autre via une macro

Re

Je viens de revérifier avec les deux classeurs ouverts
Code:
Sub aa()
Dim wA As Workbook, wB As Workbook
Set wA = ThisWorkbook
Set wB = Workbooks("ClassB.xls")
'MsgBox wA.Name
'MsgBox wB.Name
wB.Sheets(1).[A1] = wA.Sheets(1).[A2]
End Sub

J'ai bien la valeur de A2 du classeur A dans A1 du classeur B

Tu as bien une feuille nommée Feuil1?
Dans quel classeur se trouve ta macro?

EDITION:
salut CHALET53, j'avais oublié de te saluer. :rolleyes:
 
Dernière édition:

titymax

XLDnaute Occasionnel
Re : Ecrire depuis un classeur dans un autre via une macro

C'est à devenir dingue...!

Je viens de faire le test avec un Classeur2.xls bidon et ça bugue tjs sur la ligne "Set Wbk2 = Workbooks("Classeur2.xls")", alors que vous non ?!

Je ne vois pas pourquoi.
 

Staple1600

XLDnaute Barbatruc
Re : Ecrire depuis un classeur dans un autre via une macro

Re

Pourquoi tes déclarations sont en commentaires dans ton code initial?
Code vba:
Sub export()
'Dim Wbk1 As Workbook, Wbk2 As Workbook

Dans mon code de test (voir messages précédents)
je déclare mes variables, et mon test est oK
(pas de blocage quand je lance la macro)
 

CHALET53

XLDnaute Barbatruc
Re : Ecrire depuis un classeur dans un autre via une macro

Bonjour Staple1600,

C'est une piste : toutefois, je ne les ai pas déclarés et ça fonctionne sur mes deux fichiers

a+

ps je n'avais pas remarqué que nous étions voisins : Laval et de temps en temps Verchaix
 

Discussions similaires

Statistiques des forums

Discussions
312 858
Messages
2 092 876
Membres
105 547
dernier inscrit
Phil Moi