Microsoft 365 Rechercher un statut sur les autres onglets

Marie1608

XLDnaute Nouveau
Bonjour à tous c'est encore moi :) ,

Je ne sais pas si c'est possible avec une simple formule ou si il faut plutôt une macro ?

Dans le tableau en annexe il y a un onglet général puis 12 onglets pour les différents mois de l'année et un dernier que je viens de créer qui s'appel : Dossier en attente.

J'aimerai que dans cet onglet s'affiche toutes les lignes ou le statut txt ( Colonne D des 12 onglets de mois) est en répondue et que ce dernier onglet ( Dossier en attente) se mette à jour seul donc quand le statut d'une offre passe de répondue à obtenue par exemple que celui-ci se retire de l'onglet Dossier en attente. Idem si je rajoute un nouveau dossier en mai par exemple que celui-ci s'affiche dans le dernier onglet si le statut est en attente.



Merci d'avance
 

Pièces jointes

  • Excellence opérationelle Test.xlsx
    38.9 KB · Affichages: 11

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @Marie1608 :)

Avec une macro. La feuille "Dossier en attente" se met à jour à chaque fois qu'on la sélectionne.
Le code est dans le module de code de la feuille "Dossier en attente".
VB:
Private Sub Worksheet_Activate()
Dim i&, der&, t, n&, j&
   Application.ScreenUpdating = False
   Cells.Delete
   Sheets("Janvier").Range("a1:i1").Copy Sheets("Dossier en attente").Range("a1")
   For i = Sheets("Janvier").Index To Sheets("Janvier").Index + 11
      With Sheets(i)
         der = .UsedRange.Row + .UsedRange.Rows.Count - 1
         If der > 1 Then .Range("a2:i2").Resize(der - 1).Copy Sheets("Dossier en attente").Cells(Rows.Count, "a").End(xlUp).Offset(1)
      End With
   Next i
   With Sheets("Dossier en attente")
      t = .Range("a1").CurrentRegion: n = 1
      For i = 2 To UBound(t)
         If t(i, 4) = "Répondue" Then n = n + 1: For j = 1 To UBound(t, 2): t(n, j) = t(i, j): Next
      Next i
      .Rows("2:" & Rows.Count).Clear
      .Range("a1").Resize(n, UBound(t, 2)) = t
      .Range("a1").CurrentRegion.Borders.LineStyle = xlContinuous
      .Rows(1).Font.Size = 13: .Rows(1).Font.Bold = True
      .Range("a1").CurrentRegion.EntireColumn.AutoFit
   End With
End Sub
 

Pièces jointes

  • Marie1608- Excellence opérationelle Test- v1.xlsm
    51.8 KB · Affichages: 17
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 178
Messages
2 085 984
Membres
103 079
dernier inscrit
sle