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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
Sub RechercheCorrespondences(Feuil1, Liste)
Dim MC1 As String
Dim MC2 As String
Dim MC3 As String
Dim T As String
Dim DCMin As Date
Dim DCMax As Date
Dim DMMin As Date
Dim DMMax As Date
Dim A As String
Dim k As Long
Dim j As Long
MC1 = Range("B3").Value 'Récupère ce qui a été entré dans la case 'Mot-clé 1' et le stocke dans la variable MC1
MC2 = Range("D3").Value 'Récupère ce qui a été entré dans la case 'Mot-clé 2' et le stocke dans la variable MC2
MC3 = Range("F3").Value 'Récupère ce qui a été entré dans la case 'Mot-clé 3' et le stocke dans la variable MC3
T = Range("B4").Value 'Récupère ce qui a été entré dans la case 'Type' et lestocke dans la variable T
DCMin = Range("B5").Value 'Récupère ce qui a été entré dans la case 'Date de création min' et le stocke dans la variable DCMin
DCMax = Range("E5").Value 'Récupère ce qui a été entré dans la case 'Date de création max' et le stocke dans la variable DCMax
DMMin = Range("B6").Value 'Récupère ce qui a été entré dans la case 'Date de modification min' et le stocke dans la variable DMMin
DMMax = Range("E6").Value 'Récupère ce qui a été entré dans la case 'Date de modification max' et le stocke dans la variable DMMax
A = Range("B7").Value 'Récupère ce qui a été entré dans la case 'Auteur' et le stocke dans la variable A
j = 1
Do While Liste.Cells(j, 1) <> ""
j = j + 1
For i = 1 To j 'i va parcourir la liste de tout les fichiers référencés précédemment
'MOTS-CLE
If "*MC1*" = Liste.Cells(1, i).Value Or "*MC2*" = Liste.Cells(1, i).Value Or "*MC3*" = Liste.Cells(1, i).Value Then 'Détecte l apparition des mots-clé dans le titre du i-ème fichier
k = 17 + i
Range("Ak,Bk").Merge 'Fusionne les cellules Ak et Bk du Nom
Range("Ck,Dk").Merge 'Fusionne les cellules Ck et Dk du Type
Sheets("Liste").Range("Ai:Ei").Copy Sheets("Feuil1").Range("Ak:Gk") 'Remplit la case Nom du fichier du tableu de résultats
End If
'TYPE
If "*T" = Liste.Cells(2, i).Value Then 'Détecte si le type du i-ème fichier est celui saisi dans les critères de recherche
k = 17 + i
Range("Ak,Bk").Merge 'Fusionne les cellules Ak et Bk du Nom
Range("Ck,Dk").Merge 'Fusionne les cellules Ck et Dk du Type
Sheets("Liste").Range("Ai:Ei").Copy Sheets("Feuil1").Range("Ak:Gk") 'Remplit la case Type du tableu de résultats
Feuil1.Cells("Ck") = T
End If
'DATE DE CREATION
If DCMin <> "" And DCMax <> "" Then '/!\ Si une des deux dates n'est pas remplie
If "DCMin*" >= DC Or "DCMax*" <= DC Then
Range("Ak,Bk").Merge 'Fusionne les cellules Ak et Bk du Nom
Range("Ck,Dk").Merge 'Fusionne les cellules Ck et Dk du Type
Sheets("Liste").Range("Ai:Ei").Copy Sheets("Feuil1").Range("Ak:Gk") 'Remplit la case Date de création du tableu de résultats
End If
ElseIf DCMin <> "" Then
If "DCMin*" >= DC Then
Range("Ak,Bk").Merge 'Fusionne les cellules Ak et Bk du Nom
Range("Ck,Dk").Merge 'Fusionne les cellules Ck et Dk du Type
Sheets("Liste").Range("Ai:Ei").Copy Sheets("Feuil1").Range("Ak:Gk")
End If
ElseIf DCMax <> "" Then
If "DCMax*" <= DC Then
Range("Ak,Bk").Merge 'Fusionne les cellules Ak et Bk du Nom
Range("Ck,Dk").Merge 'Fusionne les cellules Ck et Dk du Type
Sheets("Liste").Range("Ai:Ei").Copy Sheets("Feuil1").Range("Ak:Gk") 'Remplit la case Date de création du tableu de résultats
End If
End If
'DATE DE MODIFICATION
If DMMin <> "" And DMMax <> "" Then '/!\ Si une des deux dates n'est pas remplie
If "DMMin*" >= DM Or "DMMax*" <= DM Then
Range("Ak,Bk").Merge 'Fusionne les cellules Ak et Bk du Nom
Range("Ck,Dk").Merge 'Fusionne les cellules Ck et Dk du Type
Sheets("Liste").Range("Ai:Ei").Copy Sheets("Feuil1").Range("Ak:Gk") 'Remplit la case Date de modification du tableu de résultats
End If
ElseIf DMMin <> "" Then
If "DMMin*" >= DM Then
Range("Ak,Bk").Merge 'Fusionne les cellules Ak et Bk du Nom
Range("Ck,Dk").Merge 'Fusionne les cellules Ck et Dk du Type
Sheets("Liste").Range("Ai:Ei").Copy Sheets("Feuil1").Range("Ak:Gk")
End If
ElseIf DMMax <> "" Then
If "DMMax*" <= DM Then
Range("Ak,Bk").Merge 'Fusionne les cellules Ak et Bk du Nom
Range("Ck,Dk").Merge 'Fusionne les cellules Ck et Dk du Type
Sheets("Liste").Range("Ai:Ei").Copy Sheets("Feuil1").Range("Ak:Gk") 'Remplit la case Date de modification du tableu de résultats
End If
End If
'AUTEUR
If A = Liste.Cells(5, i).Value Then 'Détecte si l auteur du i-ème fichier est celui saisi dans les critères de recherche
k = 17 + i
Range("Ak,Bk").Merge 'Fusionne les cellules Ak et Bk du Nom
Range("Ck,Dk").Merge 'Fusionne les cellules Ck et Dk du Type
Sheets("Liste").Range("Ai:Ei").Copy Sheets("Feuil1").Range("Ak:Gk") 'Remplit la case Auteur du tableu de résultats
End If
Next
Loop
Worksheets("Feuil1").Select
End Sub |
Partager