Synthétiser 14 feuilles en 1

Bonjour à tous,

J'ai 14 feuilles dans un document (présentées sous la même forme) avec des données différentes. J'aimerai que les données de la colonne E à I (à partir de la ligne 4) ce synthétise dans la feuille SYNTHESE en supprimant les lignes vides bien sur.

Avez vous la solution?

(J'ai joint un fichier pour l'exemple)

12test.xlsx (214.37 Ko)

Salut Roden,

quelque chose comme ça ?

Un double-clic en 'SYNTHESE' [E2] ("Affaire") démarre la macro qui se trouve dans le module VBA de 'SYNTHESE'.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Cancel = True
Application.ScreenUpdating = False
'
Range("E4:I" & Range("E" & Rows.Count).End(xlUp).Row + 1).Value = ""
For x = 1 To Sheets.Count
    If Sheets(x).Name <> "SYNTHESE" Then
        With Sheets(x)
            iRow = .Range("E" & .Rows.Count).End(xlUp).Row
            If iRow > 3 Then Range("E" & Range("E" & Rows.Count).End(xlUp).Row + 1).Resize(iRow - 3, 5).Value = .Range("E4:I" & iRow).Value
        End With
    End If
Next
If WorksheetFunction.CountBlank(Range("E4:E" & Range("E" & Rows.Count).End(xlUp).Row)) > 0 Then _
    Range("E4:E" & Range("E" & Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
'
Application.ScreenUpdating = True
'
End Sub

A+

8roden.xlsm (219.27 Ko)

Merci beaucoup c'est tout à fait ça!

Juste une question complémentaire, si je souhaite par exemple ne synthétiser que certaines colonnes uniquement que dois-je changer au code?

Salut Roden,

stp, explique en détail et en UNE FOIS, toutes les options que tu désires pouvoir utiliser!

On gagnera beaucoup de temps!

A+

Comme je le disais "juste au dessus" le code répond exactement ce que j'ai demandé.

Je m’interrogeais juste au cas ou un jour me venais l'idée d'ajouter une colonne ou décider de na pas en synthétiser une.

Salut Roden,

une solution facile et pratique... Enfin, je pense...

Principe de base : les colonnes [E:I] sont réputées être les cellules 'Standard', censées être reprises d'office dans 'SYNTHESE'.

Pour sélectionner des colonnes hors [E:I] ou sélectionner des colonnes 'Standard' ([E:I], tu cliques-DROIT sur l'en-tête de ces colonnes en LIGNE 3 qui se colore selon son statut (Standard ou pas).

En cas d'erreur, répète le clic-droit sur la(les) colonne(s) concernée(s).

    For x = 1 To Sheets.Count
        If Sheets(x).Name <> "SYNTHESE" Then
            With Sheets(x)
                iRow = .Range("E" & .Rows.Count).End(xlUp).Row
                If iRow > 3 Then
                    iRowT = Range("E" & Rows.Count).End(xlUp).Row + 1
                    For y = 1 To 26
                        If Cells(3, y).Interior.ColorIndex = 24 Or Cells(3, y).Interior.ColorIndex = 41 Then _
                            Range(Chr(64 + y) & iRowT).Resize(iRow - 3, 1).Value = .Range(Chr(64 + y) & 4).Resize(iRow - 3, 1).Value
                    Next
                End If
            End With
        End If
    Next

Aspect pratique : vu le fichier-exemple et à défaut de précisions, je ne suis pas en mesure de connaître la colonne de référence pour calculer les lignes vides à effacer.

Par défaut, j'ai opté pour la colonne [E] dont j'interdis la désélection par clic-droit.

Á toi de me dire ce qu'il convient de faire en fonction de tes habitudes de travail!

A+

4roden.xlsm (218.14 Ko)

Merci!

J'arrive bien à mettre les entêtes en bleu mais comment mettre à jour le tableau synthèse? Car le double clic ne marche plus.

Salut Roden,

pas magicien...

A+

Bonjour,

Je parlais de ton document modifié dans ton dernier message

Salut Roden,

pas le moindre souci, ici...

Je t'ai fait une version avec un bouton plutôt qu'un double-clic.

Est-ce mieux pour toi ou préfères-tu autre chose ?

A+

6roden.xlsm (230.12 Ko)

Parfait merci!

Rechercher des sujets similaires à "synthetiser feuilles"