Commande pour fermer un fichier

fredtu

XLDnaute Junior
Bonjour à tous,

Je vous expose mon problème.
Dans mon classeur actif, je dois récupérer les données d'une feuille d'un autre fichier dont le nom changera tous les jours. Une fois que la copie est effectuée, je souhaite que le fichier dont les données ont été extraites se ferment automatiquement.
J'ai écrit le code suivant :

Code:
Sub CommandButton1_Click()

Choix_de_la_date

Workbooks.Open "C:\Users\Frédérick\Desktop\" & Feuil2.Range("A1").Value & ".xls"

Cells.Select
    Selection.Copy
    Windows("Classeur1.xlsm").Activate
    Cells.Select
    ActiveSheet.Paste

Workbooks("C:\Users\Frédérick\Desktop\" & Feuil2.Range("A1").Value & ".xls").Activate
Workbooks("C:\Users\Frédérick\Desktop\" & Feuil2.Range("A1").Value & ".xls").Close


End Sub

Mais il me renvoie une erreur et je ne trouve pas la solution.
Pouvez-vous m'aider ?

Merci d'avance.
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : Commande pour fermer un fichier

bonjour Dreddu le forum
bah oui avec ton code il faut que le fichier Windows("Classeur1.xlsm"). soit ouvert est-ce le cas
de plus tous les select ne servent à rien
a te relire et avec le fichier
a+
papou:eek:
 

Paritec

XLDnaute Barbatruc
Re : Commande pour fermer un fichier

re fredtu le forum
si le fichier est ouvert teste cela
a+
Papou:eek:

Code:
Sub CommandButton1_Click()
    Dim wbks As Workbook
    Set wbks = Workbooks.Open("C:\Users\Frédérick\Desktop\" & Feuil2.Range("A1").Value & ".xls")
    wbks.ActiveSheet.Cells.Copy Windows("Classeur1.xlsm").ActiveSheet.Cells
    wbks.Close 0
End Sub
 

fredtu

XLDnaute Junior
Re : Commande pour fermer un fichier

En complément, est-il possible d'intégrer un message d'erreur lorsque le fichier recherché dont le nom est défini par la valeur de la cellule A1de la feuille 2 n'existe pas ?

Je patage dans la rédaction...
 

Paritec

XLDnaute Barbatruc
Re : Commande pour fermer un fichier

Re Fredtu le forum, bonjour Michel:eek: je t'ai zappé excuse moi
a+
Papou:eek:
Code:
Sub CommandButton1_Click()
    Dim wbks As Workbook, nom$
    nom = "C:\Users\Frédérick\Desktop\" & Feuil2.Range("A1").Value & ".xls"
    If Dir(nom, vbDirectory) = "" Then MsgBox "Le fichier que vous essayez d'ouvrir n'existe pas", , "Fichier Inexistant": Exit Sub
    Set wbks = Workbooks.Open(nom)
    wbks.ActiveSheet.Cells.Copy Windows("Classeur1.xlsm").ActiveSheet.Cells
    wbks.Close 0
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 835
Membres
103 972
dernier inscrit
steeter