Recherche d'une donnée sur plusieurs colonnes
Bonjour,
J'essaie de faire un fichier excel qui recense le nombre de buts marqués d'une équipe sur les 5 derniers matchs qu'elle à jouer (domicile ou extérieur).
J'ai donc un fichier de données où est recensé chaque match de la ligue en question + le nombre de buts marqués à domicile et extérieur.
Je m'explique : Par exemple, je cherche à savoir combien de buts ont été marqués dans les 5 derniers matchs d'une équipe, j'ai donc besoin d'effectuer une recherche sur 2 colonnes pour renvoyer le résultat de 2 colonnes additionnées dans une seule cellule.
Je vous joins le fichier afin que vous puissiez comprendre ma démarche.
Je suis débutant sur excel et j'ai donc du mal à trouver des explication pour un cas précis.
Merci pour votre aide ! :)
Bonjour,
Essayez ceci:
Cdlt
Bonjour,
Merci beaucoup pour votre aide mais ce n'est pas tout a fait cela que je recherche.
Et si j'ai bien compris je dois plus me tourner vers VBA qu'une simple formule excel.
Cordialement,
Bonjour et bienvenue sur le forum
Bonjour à tous
Un essai à tester. Te convient-il ?
Option Explicit
Dim fsp As Worksheet, tablo, tabloR(), v
Dim i&, j&, k&
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 4 Or Target.Value = "" Then Exit Sub
Set fsp = Sheets("SP2")
tablo = fsp.Range("A1").CurrentRegion
Cancel = True
'On classe tablo selon les date décroissante
For i = 2 To UBound(tablo, 1)
For j = 1 To UBound(tablo, 1)
If tablo(i, 2) > tablo(j, 2) Then ' 1 pour tri selon la 1ère colonne
For k = 1 To UBound(tablo, 2)
v = tablo(i, k)
tablo(i, k) = tablo(j, k)
tablo(j, k) = v
Next k
End If
Next j
Next i
'Recherche du résultat
k = 0
For i = 2 To UBound(tablo, 1)
If tablo(i, 4) = Target Or tablo(i, 5) = Target Then
If k < 5 Then
ReDim Preserve tabloR(1 To 15, 1 To k + 1)
For j = 1 To UBound(tablo, 2)
If j = 2 Then
tabloR(j, 1 + k) = DateValue(tablo(i, j)) * 1
Else
tabloR(j, 1 + k) = tablo(i, j)
End If
Next j
k = k + 1
Else
Exit For
End If
End If
Next i
'résultat
Range("A2:O" & Range("A" & Rows.Count).End(xlUp).Row).Interior.Color = xlNone
Rows(Target.Row + 1 & ":" & Target.Row + 5).Insert shift:=xlDown
Cells(Target.Row + 1, 1).Resize(5, UBound(tablo, 2)) = Application.Transpose(tabloR)
Target.Interior.Color = RGB(255, 242, 204)
Cells(Target.Row + 1, 1).Resize(5, UBound(tablo, 2)).Interior.Color = RGB(255, 255, 204)
End SubBye !