Onglet résumé de plusieurs onglets suivant délais

Bonjour,

J'utilise un fichier Excel pour énumérer toutes les actions à mener sur différents projets.

J'ai créé un onglet par projet (une dizaine), où on retrouve un tableau similaire pour chaque projet, avec colonnes : action, destinataire, délais...

Je liste ensuite toutes les actions (1 par ligne) et je mets à jour continuellement les onglets.

Je souhaite avoir un onglet principal qui va me faire apparaître les actions dont l'échéance est < à 1 semaine, 1 mois... de l'ensemble de mes onglets (dans l'ordre chrono), en gros lister les lignes avec l'action le destinataire le délais comme un tableau de bord

Si j'ai des modifs (nom de l'action, délais...) à faire je les ferai dans les onglets "ressources" mais l'onglet principal doit se mettre à jour "automatiquement" ou par un simple enregistrement par exemple.

L'idéal serait une formule toute faite mais je peux me débrouiller sur VBA..

Le lien du Excel avec le juste nécessaire.

Le 1er onglet où je souhaite voir les prochaines actions à mener sur X jours (en fonction du délais indiqué)

Les onglets Projet 1, Projet 2... où j'ajoute les actions continuellement, toujours avec un délais.

Apparaît sur ces onglets un simple code couleur en fonction de l'approche du délais.

Je souhaite également que les actions qui ont une date indiquée dans la colonne "fait le" disparaissent de l'onglet principal mais reste dans l'onglet du projet concerné.

Les actions dont le délais est dépassé et donc en retard doivent toujours apparaître, peut-être je ferai un tableau exprès pour ça...

Pour rappel je ne demande pas à pouvoir modifier dans l'onglet principal ou alors il faut bien que l'onglet de référence se mette à jour.

Merci beaucoup,

Bjr

Private Sub Worksheet_Activate()
ligne = 8
Range(Cells(ligne, "A"), Cells(Cells(Application.Rows.Count, "A").End(xlUp).Row + 1, "F")).ClearContents
Dim ws As Worksheet
For Each ws In Worksheets
    If ws.Name <> ActiveSheet.Name Then
        With ws
            For i = 2 To .Cells(Application.Rows.Count, "A").End(xlUp).Row
                If .Cells(i, "D") < Now + [horizon] And .Cells(i, "E") = "" Then
                    For j = 1 To 6
                        Cells(ligne, j) = .Cells(i, j)
                    Next j
                    ligne = ligne + 1
                End If
            Next i
        End With
    End If
Next
End Sub

Merci beaucoup pour ta réactivité Steelson !

J'ai entre temps trouvé une solution avec des formules et du comptage mais mon ordi rame un peu lors des modif de mon fichier alors je vais regarder ce que tu me proposes et comparer.

Bien cordialement,

Je ne suis pas fana de macro quand les formules peuvent le faire ... mais sur ce coup, à mon sens, les formules (surtout si matricielles) rament ! donc macro

Rechercher des sujets similaires à "onglet resume onglets suivant delais"