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].