XL 2010 Comptage entre 2 date selon critère

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

NICOALBERT

XLDnaute Occasionnel
Bonjour le Forum ,

Je vient vers vous car je n'arrive pas à calculer le nombre de jour entre 2 date selon Critère , enfin si si c'est sur même ligne est sans critère avec "=DATEDIF(A1;B1;"d") par exemple .

Mais la les dates son sur une seul colonnes , ne se suivent pas et recherche selon Equipe .

Je m'explique , ce que cherche à calculer c'est le nombre de jour depuis le dernier Match et le nombre de jour avant le prochain Match d'une même équipe .

Je vous joint un petit fichier en exemple qui parlera peut être mieux que moi .

cdlt Nicoalbert .
 

Pièces jointes

Bonjour.
Pour le nombre de jours avant le prochain match, en G2, à propager sur 2840 lignes :
Code:
=SIERREUR(DECALER($A2;EQUIV($E2;$E3:$E$2842;0);0)-$A2;"")
Pour celui depuis le dernier, je ne sais pas. Désolé.
Par macro je saurais faire.
 
Dernière édition:
Par macro je pense que je le ferais comme ça :
VB:
Sub Macro1()
   Dim Rng As Range
   Set Rng = Feuil1.UsedRange
   Set Rng = Rng.Offset(1).Resize(Rng.Rows.Count - 1, 8)
   With Rng.Columns(8): .Formula = "=ROW()-1": .Value = .Value: End With
   With Feuil1.Sort
      .SortFields.Clear
      .SortFields.Add2 Key:=Rng.Columns(5), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
      .SortFields.Add2 Key:=Rng.Columns(1), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
      .SetRange Rng: .Header = xlNo: .MatchCase = False: .Orientation = xlTopToBottom
      .Apply: End With
   With Rng.Columns(7): .FormulaR1C1 = "=IF(R[1]C5=RC5,R[1]C1-RC1,"""")": .Value = .Value: End With
   Rng(1, 6).Value = "": Rng(2, 6).Resize(Rng.Rows.Count - 1).Value = Rng.Columns(7).Value
   With Feuil1.Sort
      .SortFields.Clear
      .SortFields.Add2 Key:=Rng.Columns(8), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
      .SetRange Rng: .Header = xlNo: .MatchCase = False: .Orientation = xlTopToBottom
      .Apply: End With
   Rng.Columns(8).ClearContents
   End Sub
 
Dans mon brouillon engendré par l'enregistreur de macro il m'avait mis des .SortFields.Add2
Ça m'avait surpris, mais ça marchait (Excel 2016).
Chez vous ça marcherait peut être mieux en mettant .SortFields.Add ?
(Chez moi ça marche aussi, même résultat)
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
151
  • Question Question
Microsoft 365 Formule ou VBA
Réponses
6
Affichages
422
Réponses
6
Affichages
298
Retour