1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
Function Matricule(Nom As String, Periode As Long) As Long
'ici les variables
Dim sh As Worksheet
Dim Rg As Range
Dim Ad As String
'ici la variable sh deviens le sheets("données")
Set sh = Sheets("Donnees")
'ici la variable rg deviens la premiere cellule ou ce trouve le nom
Set Rg = sh.Range("B:B").Find(Nom, LookIn:=xlValues, lookat:=xlWhole)
'ici si Rg n'est pas rien alors Ad est l'adresse de rg
If Not Rg Is Nothing Then
Ad = Rg.Address
'ici on demarre la boucle do loop pour le find next
Do
' ici donc si la cellule 2 colonne plus loin de la ligne de la la cellule Rg = periode
'la variable matricule prend la valeur de la cellule 1 colonne en moins de la ligne de RG
If Rg.Offset(0, 2).Value = Periode Then
Matricule = Rg.Offset(0, -1).Value
' c 'est ici a mon avis que ca va pas
Exit Function 'donc ici si la periode est trouvée on sort de la fonction sa neutralise donc forcément le find next meme si il y en a d'autre
End If
'ici on cherche le suivant
Set Rg = sh.Range("B:B").FindNext(Rg)
Loop While Not Rg Is Nothing And Rg.Address <> Ad 'on continu tant que rg n'est pas rien et que l'adresse de rg ne eviens pas a Ad
End If
Matricule = 0
End Function |