Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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:

Marie1608

XLDnaute Nouveau
Bonjour @mapomme , je reviens vers vous 1 an après car du jour au lendemain le code ne fonctionne plus. Dans un des tableau il s'arrête de prendre en compte le 4ème onglet et dans l'autre le 6ème, il ne va plus jusqu'au mois de décembre....
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…