Coller un graphique sur plusieurs feuilles de calcul (Microsoft Excel)
Marty a une série de classeurs, certains contenant jusqu’à 50 feuilles de travail. Il doit coller un graphique (un logo d’entreprise) au même endroit sur chaque feuille de calcul. Il a essayé de le faire en sélectionnant toutes les feuilles de calcul, puis en effectuant le collage, mais cela ne semblait pas fonctionner sur plusieurs feuilles de calcul comme le fait l’édition normale.
Marty a raison; essayer de coller un graphique lorsque plusieurs feuilles de calcul sont sélectionnées ne fonctionne pas. Lorsque vous essayez, Excel vous dit qu’il ne peut pas faire le collage, mais si vous sélectionnez ensuite une seule feuille de calcul, vous pouvez coller assez bien.
Au lieu de cela, vous devez utiliser une macro pour effectuer le collage. En supposant que le graphique a déjà été copié dans le Presse-papiers, vous pouvez exécuter une macro telle que la suivante:
Sub InsertLogo1() Dim shtSheet As Worksheet Application.ScreenUpdating = False For Each shtSheet In Worksheets With shtSheet .Activate .Range("A1").Select .Paste End With Next Set shtSheet = Nothing Application.ScreenUpdating = True End Sub
La macro parcourt chaque feuille de calcul dans le classeur et colle le graphique dans la cellule A1. Si vous souhaitez utiliser une cellule différente, il vous suffit de modifier la ligne qui sélectionne la cellule.
Si vous ne souhaitez pas copier le graphique dans le Presse-papiers à l’avance, vous pouvez utiliser une macro telle que la suivante pour insérer le graphique directement à partir d’un fichier image:
Sub InsertLogo2() Dim strPath As String Dim shtSheet As Worksheet strPath = "C:\GraphicFolder\PictureName.bmp" For Each shtSheet In Worksheets shtSheet.Activate Range("A1").Select ActiveSheet.Pictures.Insert (strPath) Next shtSheet Set shtSheet = Nothing End Sub
Vous pouvez bien sûr modifier le chemin d’accès au fichier graphique et la cellule dans laquelle le fichier est collé dans les feuilles de calcul. Si vous le souhaitez, vous pouvez utiliser la variante suivante qui affiche une boîte de dialogue Windows standard pour sélectionner le graphique que vous souhaitez insérer:
Sub InsertLogo3() Dim strPath As Variant Dim shtSheet As Worksheet Dim sTemp As String ' Set the file type sTemp = "Graphics Files (.jpg; .bmp; .gif; .tif; *.png)" sTemp = sTemp & ", .jpg; .bmp; .gif; .tif; *.png" strPath = Application.GetOpenFilename(sTemp) If strPath <> False Then For Each shtSheet In Worksheets shtSheet.Activate Range("A1").Select ActiveSheet.Pictures.Insert (strPath) Next shtSheet Set shtSheet = Nothing End If End Sub
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (9205) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:
link: / excel-Pasting_a_Graphic_to_Multiple_Worksheets [Collage d’un graphique sur plusieurs feuilles de travail]
.