Faire une synthèse de plusieurs onglets qui reste telle quelle même avec des tris

adrfr

XLDnaute Nouveau
Bonjour,

Je souhaiterais faire une macro qui permettrait de faire une synthèse de plusieurs onglets.
Dans l'onglet 1 : j'ai 10 projets à l'état A avec des variables. Dans l'onglet 2 : j'ai les mêmes 10 projets à l'état B avec des variables. Au final, ce sont donc les variables qui diffèrent entre les deux onglets.
Je voudrais faire un troisième onglet qui serait présenté de cette facon :
Projet 1 Etat A Variables...
Projet 1 Etat B Variables...
Projet 2 Etat A Variables...
Projet 2 Etat B Variables...
...
A priori ca parait simple comme ca, mais l'idée c'est que cette synthèse ne bouge pas quand j'effectue des tris dans les onglets 1 et 2 sur certaines variables, mais il faut tout de même que cette synthèse s'actualise si je modifie les valeurs des variables dans les onglets 1 et 2.

Quelqu'un saurait il m'aider ?
Merci beaucoup d'avance
 

JCGL

XLDnaute Barbatruc
Re : Faire une synthèse de plusieurs onglets qui reste telle quelle même avec des tri

Bonjour à tous,
Bienvenue sur XLD,

Il est d'usage, sur XLD, de déposer un bout de fichier pour une tentative d'aide adaptée.

A + à tous
 

adrfr

XLDnaute Nouveau
Re : Faire une synthèse de plusieurs onglets qui reste telle quelle même avec des tri

Ok. Je joins donc un fichier excel pour illustrer.
Merci à vous pour vos réponses.
 

Pièces jointes

  • Tableau d'avancement.xls
    68 KB · Affichages: 139

JCGL

XLDnaute Barbatruc
Re : Faire une synthèse de plusieurs onglets qui reste telle quelle même avec des tri

Bonjour à tous,

Peux-tu essayer ceci dans un module standard :

Option Explicit


Sub Synthese()
Dim X%
Application.ScreenUpdating = 0
For X = 2 To Sheets.Count
Sheets(X).Range("A2").CurrentRegion.Copy Sheets("Synthèse").Range("A" & Range("A65536").End(xlUp).Row + 1)
Next
End Sub

Dans le fichier joint un click sur le bouton Go

A + à tous
 

Pièces jointes

  • JC Tableau d'avancement.xls
    65.5 KB · Affichages: 121

adrfr

XLDnaute Nouveau
Re : Faire une synthèse de plusieurs onglets qui reste telle quelle même avec des tri

Merci pour ta réponse rapide, mais ca ne résout pas le problème quand je trie un des onglets car du coup il affiche la synthèse avec la forme nouvellement triée.
De plus, je souhaiterais que dans la synthèse, il y ait l'intitulé des colonnes qu'1 fois en haut et que les lignes soient affichées de cette facon :
Dossier 1 Candidature XX
Dossier 1 Instruction XX
Dossier 1 Compte Rendu XX
Dossier 1 Final XX
Dossier 2 Candidature XX
Dossier 2 Instruction XX
etc.

Est-ce que tu penses que c'est possible ?
Merci encore
 

JCGL

XLDnaute Barbatruc
Re : Faire une synthèse de plusieurs onglets qui reste telle quelle même avec des tri

Bonjour à tous,

Alors mets ce code à la place de l'autre dans le même module :

VB:
Sub Synthèse()
Dim Sh As Worksheet
With Sheets("Synthèse")
.[A2:H65536].Clear
Application.ScreenUpdating = 0
For Each Sh In Worksheets
  If Sh.Name <> .Name Then _
    Sh.Range("A2:H" & Sh.[A65536].End(xlUp).Row).Copy .[A65536].End(xlUp)(2)
Next
.[A2:H65536].Sort Key1:=.[B2], Order1:=xlAscending, Header:=xlNo
End With
End Sub
 

Pièces jointes

  • JC V2 Tableau d'avancement.xls
    63 KB · Affichages: 144
Dernière édition:

adrfr

XLDnaute Nouveau
Re : Faire une synthèse de plusieurs onglets qui reste telle quelle même avec des tri

Excellent, après quelques adaptations, ca fonctionne très bien ! :D
Merci Jean Claude
D'ailleurs comment faire pour que la macro s'exécute dès qu'une des cellules d'un onglet est modifiée ?
Merci encore
Anita
 

JCGL

XLDnaute Barbatruc
Re : Faire une synthèse de plusieurs onglets qui reste telle quelle même avec des tri

Bonjour à tous,
Salut Anita,

Je veux bien te faire le code mais une mise à jour de la feuille "Synthèse" dès q'une cellule est modifiée risque vite de te lasser, voire de te casser les pieds.

Je préconise une mise à jour à l'activation de la feuille "Synthèse" par ce bout de code dans le module de la feuille "Synthèse".

VB:
Option Explicit


Private Sub Worksheet_Activate()
Call Synthèse
End Sub

Ici :

Modules_Feuille.jpg

A + à tous
 

Pièces jointes

  • Modules_Feuille.jpg
    Modules_Feuille.jpg
    21.7 KB · Affichages: 138
  • Modules_Feuille.jpg
    Modules_Feuille.jpg
    21.7 KB · Affichages: 131

adrfr

XLDnaute Nouveau
Re : Faire une synthèse de plusieurs onglets qui reste telle quelle même avec des tri

Nickel,
C'est un peu lent pour l'instant mais je pense réduire le nombre de variables que j'ai, donc ca devrait aller.
Merci encore beaucoup !
J'espère que ca aidera d'autres personnes.
Merci le forum !
 

JCGL

XLDnaute Barbatruc
Re : Faire une synthèse de plusieurs onglets qui reste telle quelle même avec des tri

Bonjour à tous,

Il doit certainement y avoir des calculs qui se déroulent.
Peux-tu essayer ceci en lieu et place du dernier code proposé dans le module 1 :

VB:
Option Explicit


Sub Synthèse()
    Dim Sh As Worksheet
    With Sheets("Synthèse")
        .[A2:H65536].Clear


        With Application
            .ScreenUpdating = 0
            .Calculation = xlCalculationManual
        End With


        For Each Sh In Worksheets
            If Sh.Name <> .Name Then _
               Sh.Range("A2:H" & Sh.[A65536].End(xlUp).Row).Copy .[A65536].End(xlUp)(2)
        Next
        .[A2:H65536].Sort Key1:=.[B2], Order1:=xlAscending, Header:=xlNo
    End With


    With Application
        .ScreenUpdating = 1
        .Calculation = xlCalculationAutomatic
    End With


End Sub

A + à tous
 

turz

XLDnaute Nouveau
Re : Faire une synthèse de plusieurs onglets qui reste telle quelle même avec des tri

Bonjour,

J'utilise ce code qui fonctionne assez bien, mais je n'arrive pas à l'adapter pour effectuer un collage spécial au lieu d'un collage simple.

Je ne comprends pas ce que veux dire [A65536] notamment.

En vous remerciant.
 

turz

XLDnaute Nouveau
Re : Faire une synthèse de plusieurs onglets qui reste telle quelle même avec des tri

Bon beh j'ai trouvé tout seul !

Code:
With Worksheets("Synthèse")
    .Range("A:Y").Copy
    .Range("A:Y").PasteSpecial xlPasteValues
End With

A la suite tout simplement.

A plus.
 

Efgé

XLDnaute Barbatruc
Re : Faire une synthèse de plusieurs onglets qui reste telle quelle même avec des tri

Bonjour turz, Salut JC, le fil
Pour aller plus vite, puisqu'on ne copi que les valeurs:
VB:
Sub Synthèse()
Dim Sh As Worksheet, X&

With Application
    .ScreenUpdating = 0
    .Calculation = xlCalculationManual
End With


With Sheets("Synthèse")
    .[A2].Resize(.UsedRange.Rows.Count, 8).Clear
    For Each Sh In Worksheets
        If Sh.Name < > .Name Then
            X = Sh.Range("A65536").End(xlUp)(2).Row
            .[A65536].End(xlUp)(2).Resize(X - 1, 8).Value = Sh.Range("A2:H" & X).Value
        End If
    Next
    .[A2:H65536].Sort Key1:=.[B2], Order1:=xlAscending, Header:=xlNo
End With

With Application
    .ScreenUpdating = 1
    .Calculation = xlCalculationAutomatic
End With
End Sub
Cordialement
 
Dernière édition:

Discussions similaires

Réponses
4
Affichages
337

Statistiques des forums

Discussions
312 492
Messages
2 088 910
Membres
103 983
dernier inscrit
AlbertCouillard