Bonjour,
Après beaucoup de recherches (...), je ne trouve pas la solution à mon problème, qui paraît pourtant être la base ...
Enfin bon, voilà :
En rentrant une date dans la cellule Q5, je veux en activant la macro "AllerA", à l'aide du bouton bleu, me rendre à la date correspondante dans la colonne F. Si il y a plusieurs dates identiques (c'est quasiment toujours le cas), l'idéal serait de choisir la première ou la dernière (j'ai une préférence pour la dernière mais ce n'est pas le plus important).
Le code est plus bas mais je ne vois pas où sont mes erreurs. Merci aux bonnes âmes qui voudront bien se pencher sur mon problème.
Christophe
Sub AllerA()
'
' AllerA Macro
Dim dateRecherchee As Date
dateRecherchee = DateValue(Range("Q5").Value)
Dim cell As Range
Dim firstAddress As String
Dim count As Integer
With Columns("F:F")
Set cell = .Find(What:=dateRecherchee, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext)
If Not cell Is Nothing Then
firstAddress = cell.Address
count = 1
Do
If cell.Value = dateRecherchee Then
cell.Select
Exit Do
End If
Set cell = .FindNext(cell)
count = count + 1
Loop While Not cell Is Nothing And cell.Address <> firstAddress
Else
MsgBox "Rien à cette date !!!!" & vbNewLine & "Nombre de cellules trouvées : " & count
End If
End With
Range("F1").Select
Application.CutCopyMode = False
End Sub
Après beaucoup de recherches (...), je ne trouve pas la solution à mon problème, qui paraît pourtant être la base ...
Enfin bon, voilà :
En rentrant une date dans la cellule Q5, je veux en activant la macro "AllerA", à l'aide du bouton bleu, me rendre à la date correspondante dans la colonne F. Si il y a plusieurs dates identiques (c'est quasiment toujours le cas), l'idéal serait de choisir la première ou la dernière (j'ai une préférence pour la dernière mais ce n'est pas le plus important).
Le code est plus bas mais je ne vois pas où sont mes erreurs. Merci aux bonnes âmes qui voudront bien se pencher sur mon problème.
Christophe
Sub AllerA()
'
' AllerA Macro
Dim dateRecherchee As Date
dateRecherchee = DateValue(Range("Q5").Value)
Dim cell As Range
Dim firstAddress As String
Dim count As Integer
With Columns("F:F")
Set cell = .Find(What:=dateRecherchee, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext)
If Not cell Is Nothing Then
firstAddress = cell.Address
count = 1
Do
If cell.Value = dateRecherchee Then
cell.Select
Exit Do
End If
Set cell = .FindNext(cell)
count = count + 1
Loop While Not cell Is Nothing And cell.Address <> firstAddress
Else
MsgBox "Rien à cette date !!!!" & vbNewLine & "Nombre de cellules trouvées : " & count
End If
End With
Range("F1").Select
Application.CutCopyMode = False
End Sub