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
|
Sub RechercheDatesAvec_Find_XlValues()
Set MaPlage = Nothing
nb = Worksheets.Count
For j = 1 To nb
If Left(Worksheets(j).Name, 1) = "S" Then 'les feuilles sont nommées « S01 », etc
Worksheets(j).Select
With Worksheets(j)
DerligR1 = .Range("a" & .Rows.Count).End(xlUp).Row
End With
With Sheets("Récap")
DerligR2 = .Range("a" & .Rows.Count).End(xlUp).Row
'Definir toute la colonne B comme champ de recherche
'car on va y ajouter des donnees
Set MaPlage = .Range("B:B")
'Pour chercher une valeur de type Date avec xlValues,
'le champ de recherche doit obligatoirement etre au format special "m/d/yyyy"
MaPlage.NumberFormat = "m/d/yyyy"
'et les valeurs doivent etre visibles
'Donc rendre visibles les valeurs
.Columns(MaPlage.Column).AutoFit
MaPlage.ShrinkToFit = True
End With
For i = 2 To DerligR1
If Trim(Worksheets(j).Range("c" & i)) <> "" Then
If IsDate(Worksheets(j).Range("c" & i)) Or IsNumeric(Worksheets(j).Range("c" & i)) Then
With MaPlage
Set c = .Find(CDate(Worksheets(j).Range("c" & i)), LookIn:=xlValues, LookAt:=xlWhole, SearchFormat:=False, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
If c Is Nothing Then
ajoutRDV = ajoutRDV + 1
Sheets("Récap").Cells(DerligR2 + ajoutRDV, 1) = Worksheets(j).Cells(i, 1)
Sheets("Récap").Cells(DerligR2 + ajoutRDV, 2) = CDate(Worksheets(j).Cells(i, 3))
'Rendre bien visible la nouvelle entree dans le champ de recherche
Sheets("Récap").Columns(MaPlage.Column).AutoFit
End If
End With
End If
End If
Next i
End If
Next
If Not MaPlage Is Nothing Then MaPlage.ShrinkToFit = False
End Sub |
Partager