Ouvrir un autre classeur, copier une plage puis le refermer

Fermé
Thomx - 8 juin 2014 à 17:27
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 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

A voir également:

1 réponse

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
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