Copier Coller une plage sur tous les autres onglets du classeur

sive91

XLDnaute Junior
Bonjour à tous, je n'arrive pas a trouver uns macro qui fonctionne comme je le souhaite.

je dispose d'une feuille "Report" dans laquelle j'ai stocké sur la plage A1:M16 une entête, je souhaiterais que cette plage soit copiée puis collée sur l'ensemble des autres feuilles, sauf Report


je vous remercie grandement et vous souhaites une très bonne soirée
Morgan
 

Lone-wolf

XLDnaute Barbatruc
Bonjour Morgan :), le Forum :)

À mettre dans le module de la feuille Report.

VB:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim derlig As Long, i As Long

    Application.ScreenUpdating = False
    derlig = Range("a" & Rows.Count).End(xlUp).Row

    For i = 2 To Sheets.Count
        Range("a1:m" & derlig).Copy Sheets(i).Range("a1")
    Next i
    Application.Goto [A1]
    Cancel = True
End Sub
 

sive91

XLDnaute Junior
Merci à tous les deux,
Voici donc mon code après quelques modifications très légère
Private Sub CommandButton1_Click()
Dim o As Object
For Each o In Worksheets
With Sheets("Entete").Range("A1:M12"): .Copy o.Range("A1"): End With
Next
End Sub

Petite question est-il possible que le copier coller respecte la largeur de mes colonnes à coller?
 

DoubleZero

XLDnaute Barbatruc
Bonjour, sive91, Lone-wolf :), le Forum,

Voici pour les colonnes :
VB:
Option Explicit
Private Sub CommandButton1_Click()
    Dim o As Object
    Application.ScreenUpdating = False
    For Each o In Worksheets
        With Sheets("Entete")
            .Range("a1:m12").Copy o.Range("a1")
            .Range("a:m").Copy
            o.Range("a:m").PasteSpecial Paste:=xlPasteColumnWidths
        End With
    Next
    Application.CutCopyMode = False
    Range("a1").Select
    Application.ScreenUpdating = True
End Sub
A bientôt :)
 

chris

XLDnaute Barbatruc
Bonjour à tous

A la main cela prend moins d'une minute
  • Copier la plage
  • Sélectionner tous les onglets en cliquant sur le nom du 1er, maintenant la touche shift tout en cliquant sur le nom du dernier onglet
  • Utiliser CTRL + Clic sur le nom d'onglet pour désélectionner Report et l'onglet source de la copie
  • Cliquer dans le cellule cible de l'un des onglets sélectionnés
  • Entrée
Cela prend moins de temps à faire qu'à décrire :D
 

Discussions similaires