Compilé plusieurs onglets sur un seul onglet

StephGuerain

XLDnaute Nouveau
Bonjour,

Je vous explique ma problématique, je ne suis pas très doué en Visual Basic, j'enregistre mécaniquement des macros, mais là j'ai besoin de votre aide car je ne sais pas comment faire.

Ci-joint un fichier excel avec 4 onglets, et j'aimerai compiler les onglets A,B,C et D sur l'onglet Compil, sachant que tous mes onglets exepté l'ongle Compil qui aura une colonne en plus auront le même nombre de colonnes mais n'auront pas le même nombre de ligne et par moment certaines colonnes ne seront pas remplis.

J'aimerais tous compilé sur l'onglet Compil en reprenant le nom de l'onglet copié dans la première colonne.

Je pense que cela doit être faisable d'avance merci de votre aide précieue

Stéphane
 

Pièces jointes

  • Exemple.xlsx
    12.3 KB · Affichages: 37
  • Exemple.xlsx
    12.3 KB · Affichages: 47
  • Exemple.xlsx
    12.3 KB · Affichages: 42

ROGER2327

XLDnaute Barbatruc
Re : Compilé plusieurs onglets sur un seul onglet

Bonsoir StephGuerain.


À essayer :​
Code:
Sub compil()
Dim i&, k&, prm(), plg As Range
  prm = Array(Array("Compil", 8, "A:W", "B"), Array("A", 8), Array("B", 8), Array("C", 8))
  For i = 1 To UBound(prm)
    With Worksheets(prm(i)(0))
      Set plg = Intersect(.Cells(prm(i)(1), .Columns(prm(0)(2)).Column).CurrentRegion, .Rows(prm(i)(1)).Resize(.Rows.Count - prm(i)(1)), .Columns(prm(0)(2)))
    End With
    With Worksheets(prm(0)(0)).Cells(prm(0)(1), Columns(prm(0)(3)).Column)
      plg.Copy Destination:=.Offset(k)
      .Offset(k, -1).Resize(plg.Rows.Count).Value = prm(i)(0)
      k = k + plg.Rows.Count
    End With
  Next
End Sub


Bonne nuit.


ℝOGER2327
#7911


Mercredi 25 Merdre 142 (Apparition d’Ubu Roi - fête Suprême Seconde)
23 Prairial An CCXXIII, 9,6167h - chèvrefeuille
2015-W24-4T23:04:49Z
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote