Export d'un graphique d'un classeur à un autre

Bonjour,

Voici le problème auquel je suis confronté : je dispose d'un classeur (appelons-le "classeur maître") au sein duquel je défini (sur un onglet nommé "AFIN_par_défaut") un tableau à partir de données se trouvant dans un autre onglet "Data" de ce même classeur. A partir de ce tableau, je créé un graphique (toujours sur ce classeur "maître").

J'ai ensuite rédigé une macro me permettant de copier le contenu de cet onglet "AFIN_par_défaut" dans N autres classeurs Excel (appelons-les "classeurs esclaves"). Après l'exécution de cette macro, chaque "classeur esclave" est donc doté d'un onglet dénommé "AFIN_par_défaut". L'export des données se réalise correctement (i.e : le contenu du tableau ainsi copié est bien mise à jour à partir des données se trouvant dans l'onglet "Data" du classeur "esclave" courant) sauf la partie graphique. En effet, les données à partir duquel le graphique est définie restent "attachées" au classeur "maître". Or je souhaiterai que ce graphique utilise comme données, celles du tableau de ce classeur "esclave".

Le code de la macro utilisée se trouve ci-dessous. Dans cette macro, le nom du classeur maître est "Analyse_financiere.xlsm" et les noms des classeurs esclaves (où sont copiées les données) s'appellent "Tableau_suivi_XXX.xlsm" (où XXX varie d'un fichier à l'autre).

Auriez-vous une idée pour résoudre ce problème ?

Merci d'avance,

bonne journée à tous.

JBR.

Sub Reinitialisation_AFIN_par_defaut()

' Cette macro permet de ré-nitialiser les onglets "AFIN_par_défaut" des fichiers "Tableau_suivi_XXX.xlsm"

' Désactive l'ouverture de fenêtre de messages

Application.DisplayAlerts = False

Dim nb_file As Long

'Lecture du nombre de fichier que l'utilisateur souhaite traiter

nb_file = Workbooks("Analyse_financiere.xlsm").Worksheets("Parametrage").Range("B3")

'Lecture du nom du répertoire où se trouve les fichiers à traiter

REPERTOIRE = Workbooks("Analyse_financiere.xlsm").Worksheets("Parametrage").Range("B2")

'Boucle sur les nb_file classeurs fichiers à traiter

For i = 1 To nb_file

'Lecture du i-ème nom du fichier à traiter

FICHIERENTREE = Workbooks("Analyse_financiere.xlsm").Worksheets("Parametrage").Range("A" & 5 + i)

' ETAPE 1 : purger le contenu de 'onglet "AFIN_par_défaut"

'Ouverture du fichier à traiter

Workbooks.Open Filename:=REPERTOIRE & FICHIERENTREE & ".xlsm", Format:=5

' Désactive l'ouverture de fenêtre de messages

Application.DisplayAlerts = False

' suppression de l'ancien onglet "AFIN_par_défaut"

Sheets("AFIN_par_défaut").Delete

'création d'un nouvel onglet

Set nouvelonglet = Sheets.Add(After:=Sheets(Sheets.Count))

'renommage du nom de cet onglet par "AFIN_par_défaut"

nouvelonglet.Name = "AFIN_par_défaut"

'Sauvegarde du fichier

ActiveWorkbook.Save

'Fermeture du fichier

ActiveWorkbook.Close

'MsgBox "Fichier n°" & i & "\" & nb_file & " à ouvrir : " & FICHIERENTREE & Chr(13) & _

" situé dans le répertoire : " & REPERTOIRE

' selection de la partie à copier

Sheets("AFIN_par_défaut").Select

Range("A1:Z3000").Select

Selection.Copy

'Ouverture du fichier à traiter

Workbooks.Open Filename:=REPERTOIRE & FICHIERENTREE & ".xlsm", Format:=5

'Activation de l'onglet "AFIN_par_défaut"

Sheets("AFIN_par_défaut").Activate

' désactive tous les filtres de l'onglet courant

ActiveSheet.AutoFilterMode = False

' Selection de la plage où l'on souhaite copier les données

Range("A1:Z3000").Select

' Coller

ActiveSheet.Paste

'Sauvegarde du fichier

ActiveWorkbook.Save

'Fermeture du fichier

ActiveWorkbook.Close

Next

End Sub

Rechercher des sujets similaires à "export graphique classeur"