Copier une valeur dans un autre classeur

Guiv

XLDnaute Occasionnel
Bonjour à tous,
Je m'énerve depuis hier sur un code tout simple par lequel je veux copier la valeur A1 de la feuille1 d'un classeur Ouvert.xls (qui est ouvert comme son nom l'indique) dans un classeur Fermé.xls qui est fermé.
Comme je n'ai rien compris aux exemples de procédure "ADO", je me contente d'ouvrir le classeur Fermé.xls. Il s'ouvre bien mais la copie ne se fait pas et j'ai à chaque fois une erreur 9 "l'indice n'appartient pas à la sélection".
J'ai beau faire je ne trouve pas l'erreur!
Qui pourra m'ouvrir les yeux encore embués de sommeil en ce dimanche matin?
Voilà mon code:

Sub Copier()
Dim Fichier As String
Fichier = ThisWorkbook.Path & "\Fermé.xls"

Workbooks(Fichier).Sheets("Feuil1").Range("A1") = Workbooks("Ouvert").Sheets("Feuil1").Range("A1")

End Sub


Merci d'avance,
Cordialement
Guiv
 

Guiv

XLDnaute Occasionnel
Re : Copier une valeur dans un autre classeur

Re,
Merci Excalibur, c'est vrai que c'est une grosse erreur que j'avais sous les yeux!
Mais ça ne marche pas quand même!!!:mad:
Voilà le code au complet et rectifié:

Sub Copier()
Dim Fichier As String
Fichier = ThisWorkbook.Path & "\Fermé.xls"
Workbooks.Open Filename:=Fichier
Workbooks("Fichier").Sheets("Feuil1").Range("A1") = Workbooks("Ouvert").Sheets("Feuil1").Range("A1")

End Sub


Comprends pas...
 

excalibur

XLDnaute Impliqué
Re : Copier une valeur dans un autre classeur

re le fil j ai fait un essai sous excel 2003 j ouvre le classeur2 je copie a1 du classeur clas1 dans le classeur2 je sauvegarde & ferme classeur2
Option Explicit
Sub Copier()
Dim Fichier As String
Application.ScreenUpdating = False
Fichier = ThisWorkbook.Path & "\classeur2.xls"
Workbooks.Open Filename:=Fichier
Workbooks("classeur2.xls").Sheets(1).Range("A1") = Workbooks("clas1.xls").Sheets(1).Range("A1")
Windows("Classeur2.xls").Activate
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
 

Guiv

XLDnaute Occasionnel
Re : Copier une valeur dans un autre classeur

Re,
ça fonctionne!
En fait, il ne faut pas utiliser

Workbooks("Fichier").Sheets(1).Range("A1") = Workbooks("clas1.xls").Sheets(1).Range("A1")

comme je le faisais mais

Workbooks("classeur2.xls").Sheets(1).Range("A1") = Workbooks("clas1.xls").Sheets(1).Range("A1")

Merci, et bonne journée.
Guiv
 

Discussions similaires

Statistiques des forums

Discussions
315 194
Messages
2 117 156
Membres
113 022
dernier inscrit
azurbs