VBA interrompu sur ouverture d'un nv classeur

Fermé
Sima Qian - 26 avril 2009 à 09:54
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 - 26 avril 2009 à 10:25
Bonjour,
Je voudrais avoir dans un classeur A.xls une macro qui ouvre un classeur B.xls, y fasse quelque chose, et le referme après l'avoir enregistré;
Connaissant très mal le VBA d'Excel, j'ai fais cela avec l'enregistreur, mais quand l'exécute ma macro elle ouvre bien B.xls puis, celui-ci devenant alors le classeur actif, elle ne va pas plus loin; comment modifier le code pour que la suite de ma macro continue à s'exécuter au delà de l'ouverture du classeur B.xls?
Un petit code exemple serait le bienvenu, merci d'avance !
A voir également:

1 réponse

pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
26 avril 2009 à 10:25
Bonjour,

Il n'y a pas de raison que la macro ne continue pas. Par exemple la macro suivante :

Sub Macro_Exemple() 'Macro du classeur 1
'Le classeur 1 est actif
    Workbooks.Open Filename:="C:\Classeur2.xls"
    'Classeur 2 est actif
    'Travail sur le classeur 2 ...
    ActiveWorkbook.Save 'sauvegarde du classeur Actif donc le classeur 2
    ActiveWorkbook.Close 'fermeture du classeur 2
    'Le classeur 1 est actif
    'Travail sur le classeur 1 ...
End Sub

Par exemple Les Sheets, les Range et les Cells font référence au classeur actif.
Par contre si on veux parler du classeur qui contient la macro il faut préfixer par ThisWorkbook :

Par exemple ThisWorkbook.Name c'est le nom du classeur qui contient la macro et pas le nom du classeur actif

A+
0