Bonjour a tous,

Je suis débutant en VBA, et je cherche a créer une fonction simple de boucle, a utiliser dans un de mes fichiers.

L'idée est la suivante.

4 variables : un concaténé, une date, une quatité, et une plage de recherche.

Pour chaque cellule de plage de recherche
Si le concaténé est égal a la valeur de la cellule
Si la date (située 5 colonnes a droite de la plage de recherche) est inferieure a la date initiale
Si la quantité (7 colonnes a droite de la plage de recherche) est superieure ou egale a la quantité initiale,
Alors on garde en mémoire la date et la quantité
Et quoiqu'il arrive, on passe a la cellule suivante dans la plage.
Et on renvoie la date gardée en memoire.

J'ai essayé de faire un premier jet. Ca donne ça:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Function DateLotPlusAncien(CCT As String, DteLot As Integer, Qte As Double, Rge As Range) As Integer
 
Dim DteLotMax, Qtemax As Integer
DteLotMax = DteLot
Qtemax = Qte
 
For Each cell In Rge
If cell.Value = CCT Then
If Cells(cell.Row, cell.Column + 5).Value < DteLotMax Then
If Cells(cell.Row, cell.Column + 7).Value >= Qtemax Then
Qtemax = Cells(cell.Row, cell.Column + 7).Value
DteLotMax = Cells(cell.Row, cell.Column + 5).Value
End If
End If
End If
Next cell
DateLotPlusAncien = DteLotMax
 
End Function
Cependant excel me dit que cela ne fonctionne pas, bien qu'il reconnaisse la fonction.
Quelqu'un pourrait m'aiguiller sur le chemin a prendre?

Merci d'avance.
Cordialement,
Tinku