Copier plusieurs tableaux dans aurtant d'onglets

nonoTT

XLDnaute Junior
Bonjour le Forum
Je dispose de 4 tableaux dans une feuille que je souhaite copier dans autant de feuilles du même classeur à l'exception du dernier tableau que je ne conserve pas.
Chaque tableau se termine par la ligne "TOTAL 2012", cette ligne se retrouvve dans chaque tableau.
Merci de me donner la marche à suivre pour le faire par macro.
Vous trouverez ci-joint le fichier de dépar et le résultat à obtenir.
Cordialemen
 

Pièces jointes

  • export.xlsx
    13.6 KB · Affichages: 32
  • resultat.xlsx
    19.3 KB · Affichages: 35
  • export.xlsx
    13.6 KB · Affichages: 36
  • resultat.xlsx
    19.3 KB · Affichages: 36
  • export.xlsx
    13.6 KB · Affichages: 36
  • resultat.xlsx
    19.3 KB · Affichages: 37

Robert

XLDnaute Barbatruc
Repose en paix
Re : Copier plusieurs tableaux dans aurtant d'onglets

Bonjour NonoTT, bonjour le forum,

Peut-être avec ces deux macros :
Code:
Sub Macro1()
Sheets("export").Range("A1").Select 'sélectionne la cellule A1 de l'onglet "export"
Call CopieTab 'lance la procédure CopieTab
Sheets("export").Activate 'sélectionne l'onglet export
ActiveCell.End(xlDown).Select 'sélectionne la dernière cellule éditée en descendant
ActiveCell.End(xlDown).Select 'sélectionne la première cellule éditée en descendant
Call CopieTab 'lance la procédure CopieTab
Sheets("export").Activate 'sélectionne l'onglet export
ActiveCell.End(xlDown).Select 'sélectionne la dernière cellule éditée en descendant
ActiveCell.End(xlDown).Select 'sélectionne la première cellule éditée en descendant
Call CopieTab 'lance la procédure CopieTab
End Sub

Sub CopieTab()
Dim pl As Range 'déclare la variable pl (PLage)
Dim no As String 'déclare la variable no (Nom de l'Onglet)
Dim o As Object 'déclare la variable o (Onglet)
Set pl = ActiveCell.CurrentRegion 'définit la plage pl
Set pl = pl.Resize(pl.Rows.Count, pl.Columns.Count + 1) 'rajoute la colonne N à la plage
no = pl.Cells(1, 1).Value 'définit le nom de l'onglet (première cellule de la plage)
Sheets.Add after:=Sheets(Sheets.Count) 'ajoute un nouvel onglet en dernière position
ActiveSheet.Name = no 'définit le nom du nouvel onglet
Set o = ActiveSheet 'définit l'onglet o
pl.Copy 'copie la plage pl
o.Range("A1").PasteSpecial (xlPasteColumnWidths) 'colle la largeur des colonnes
pl.Copy o.Range("A1") 'copie la plage pl et la colle dans A1 du nouvel onglet
o.Range("A1").Select 'sélectionne A1 du nouvel onglet
End Sub

Tu n'a qu'à lancer la procédure Macro1. L'autre, CopieTab, est appelée par la première...
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Copier plusieurs tableaux dans aurtant d'onglets

Bonjour NonoTT, bonjour le forum,

La macro est commentée, je peux pas faire mieux ! Si un mot te pose problème, tu le sélectionnes et tu appuis sur F1 pour obtenir de l'aide.
 
Dernière édition:

Discussions similaires

Réponses
4
Affichages
226

Statistiques des forums

Discussions
312 500
Messages
2 089 010
Membres
104 004
dernier inscrit
mista