[Resolu] Trois feuilles à synthétiser dans une 4 éme avec tri par date

greg63

XLDnaute Junior
Bonjour,

J'ai trois feuilles Excel avec la même mises en forme.

Je souhaiterais que mes feuille "Au" "Nan" et "Lore" s'ajoute dans la feuille final et qu'un tri s'opére en fonction de la date.

J'ai cherché des solutions (j'en ai trouvé une qui pouvait me plaire) mais j'ai du mal a utilisé du VBA.

Je vous laisse en pièce jointe le tableau

Je vous remercie de l'aide que vous pourriez m'apporter
 

Pièces jointes

  • Nouveau Feuille de calcul Microsoft Excel.xlsx
    11.5 KB · Affichages: 34
  • Nouveau Feuille de calcul Microsoft Excel.xlsx
    11.5 KB · Affichages: 36
  • Nouveau Feuille de calcul Microsoft Excel.xlsx
    11.5 KB · Affichages: 39
Dernière édition:

job75

XLDnaute Barbatruc
Re : Trois feuilles à synthétiser dans une 4 éme avec tri par date

Bonjour greg63,

Code à placer dans la feuille Final (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Activate()
Dim ncol%, feuille, lig&, f, t
ncol = 4 'nombre de colonnes
feuille = Array(Feuil1, Feuil2, Feuil3) 'CodeNames des feuilles à copier
Application.ScreenUpdating = False
Rows("2:" & Rows.Count).Delete 'RAZ
lig = 2 '1ère ligne à renseigner
For Each f In feuille
  t = Intersect(f.UsedRange.Offset(1).EntireRow, f.[A:A].Resize(, ncol + 1))
  Cells(lig, 1).Resize(UBound(t), ncol) = t
  lig = lig + UBound(t)
Next
[A:A].Resize(, ncol).Sort Columns(ncol), xlAscending, Header:=xlYes 'tri
End Sub
La macro s'exécute quand on active la feuille.

A+
 

job75

XLDnaute Barbatruc
Re : Trois feuilles à synthétiser dans une 4 éme avec tri par date

Bonjour greg63, le forum,

Ceci est plus simple :

Code:
Private Sub Worksheet_Activate()
Dim col%, feuille, lig&, f
col = 4 'colonne des dates
feuille = Array(Feuil1, Feuil2, Feuil3) 'CodeNames des feuilles à copier
Application.ScreenUpdating = False
Rows("2:" & Rows.Count).Delete 'RAZ
lig = 2 '1ère ligne à renseigner
For Each f In feuille
  f.UsedRange.Offset(1).Copy Cells(lig, 1)
  lig = lig + f.UsedRange.Rows.Count - 1
Next
Me.UsedRange.Sort Columns(col), xlAscending, Header:=xlYes 'tri
End Sub
A+
 
Dernière édition:

greg63

XLDnaute Junior
[Resolu] Re : Trois feuilles à synthétiser dans une 4 éme avec tri par date

Bonjour greg63, le forum,

Ceci est plus simple :

Code:
Private Sub Worksheet_Activate()
Dim col%, feuille, lig&, f
col = 4 'colonne des dates
feuille = Array(Feuil1, Feuil2, Feuil3) 'CodeNames des feuilles à copier
Application.ScreenUpdating = False
Rows("2:" & Rows.Count).Delete 'RAZ
lig = 2 '1ère ligne à renseigner
For Each f In feuille
  f.UsedRange.Offset(1).Copy Cells(lig, 1)
  lig = lig + f.UsedRange.Rows.Count - 1
Next
Me.UsedRange.Sort Columns(col), xlAscending, Header:=xlYes 'tri
End Sub
A+

Merci enormement en plus la mise à jour s'automatise a chaque nouvelle entrée de valeur.

Tu es au top
 

Statistiques des forums

Discussions
312 102
Messages
2 085 303
Membres
102 857
dernier inscrit
Nony1931