Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 

Paritec

XLDnaute Barbatruc
Re : Commande pour fermer un fichier

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

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
 

MJ13

XLDnaute Barbatruc
Re : Commande pour fermer un fichier

Bonjour Fredtu, Papou

Il vaudrait mieux débugger ton programme et dire où le code s'arrête.

Sinon, utilise l'enregistreur de macros pour avoir une idée de la syntaxe exacte.
 

fredtu

XLDnaute Junior
Re : Commande pour fermer un fichier

Bonjour MJ, Bonjour Paritec,

Merci pour vos réponse.
J'avais utilisé l'enregistreur pour de Macro pour gérer la copie des données.
La solution de Paritec est parfaite.

Merci à tous les deux
 

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 je t'ai zappé excuse moi
a+
Papou
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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…