Ouvrir un autre classeur, copier une plage puis le refermer

Fermé
Thomx - 8 juin 2014 à 17:27
michel_m
Messages postés
16568
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 mai 2022
- 8 juin 2014 à 18:39
Bonjour,

Voici mon problème :

Je voudrais copier une plage de cellule dans un autre classeur (qui est fermé et se trouve dans le même répertoire) et coller les données dans ma feuille ouverte de travail.

Mon code fonctionne lorsque je nomme le fichier à ouvrir mais l'objectif est de pouvoir ouvrir un fichier "n" .. c'est la que ca coince..

Ensuite, lorsque mon fichier à copier s'ouvre, j'aimerais que vba le referme sans avoir une fenêtre de confirmation d'enregistrement.

Voici le code :

Dim nom_fichier As Variant

nom_fichier = n 'n = valeur variable
Workbooks.Open Filename:=ThisWorkbook.Path & "\* nom_fichier.xlsm" 'cela ne marche pas..

Sheets(1).Activate
ActiveSheet.Range("E21:F82").Select
Selection.Copy

ActiveWorkbook.Close 'ok mais avec ce code, avant de fermer, il me demande si je veux enregistrer avant de fermer ! Y a-t-il moyen de contourner cela pour n'avoir aucune fenêtre qui s'ouvre?

ThisWorkbook.Activate
Sheets(n).Activate
ActiveSheet.Range("E21:F82").Select
ActiveSheet.Paste

Un grand merci pour votre aide

1 réponse

michel_m
Messages postés
16568
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 mai 2022
3 279
Modifié par michel_m le 8/06/2014 à 18:40
Bonjour,

Dim nom_fichier As String

Workbooks.Open Filename:=ThisWorkbook.Path & "\*" & nom_fichier & ".xlsm"

With ActiveWorkbook
.Saved=True
.Close
End with
Michel
0