Fonction find pour trouver une date

Bonjour,

Apres avoir parcouru le forum, je suis toujours à la recherche d'une réponse au probléme suivant (désolé s'il s'avére que la réponse existe dejà quelque part).

Débutant dans l'utilisation de vba, voici ce qui me bloque.

dans un fichier excel, j'ai un "menu" à la ligne 4, figé. dans la colonne A, on trouve les dates, A5=01/01/2009, en colonnes B, C et D on renseigne différents éléments (par exemple en b on demande les anniversaires, en c les mariages et en d les naissances).
ainsi une ligne est composée d'une date en a, puis des noms des personnes pour qui c'est l'anniversaire en b, pour qui c'est le mariage etc...

ce que j'aimerai c'est que lorsque je click sur un bouton en haut de la feuille (bouton créé sur la case b2), la ligne qui apparaisse sous mon "menu" soit la ligne correspondant à la date du jour (qui est visible en c2 car alimentée par d'autres pages du classeur).

voici ce que j'ai fais, par avance désolé pour les yeux....

Sub allera()

Dim celluletrouvee As range

Set celluletrouvee = range(range("A5"), range("A5").End(xlDown)).find(range("c2"), LookAt:=xlWhole)

celluletrouvee.Select

ActiveWindow.ScrollRow = ActiveCell

End Sub

et donc ca ne fonctionne pas, puisque cellulletrouvee = nothing.

des idées ?

merci d'avance,
Configuration: Windows XP Internet Explorer 7.0

4 réponses

  1. Contributeur
    Bonjour
    essaies
    Set celluletrouvee = Range("A4:" & Range("A4").End(xlDown).Address).Find(Range("c2"), Range("A4"))
    0
    1. Merci Michel pour cette réponse.

      Mais cela ne résoud pas mon probléme,

      celluletrouvee n'a toujours pas de valeur (c'est à dire que

      Set celluletrouvee = Range("A4:" & Range("A4").End(xlDown).Address).Find(Range("c2"), Range("A4"), on a encore celluletrouvee=nothing si on place le curseur dessus)

      et donc apres ca bloque toujours au niveau de celluletrouvee.select

      ...
      0
      1. Contributeur
        je ne comprend pas car j'avais testé avant de te répondre et c'était OK...
        nota: il faut que les dates soient rigoureusement au m^me format
        0
        1. grace à l'aide d'un contributeur sur un autre forum, j'ai pu obtenir une réponse tres satisfaisante.

          la voici pour ceux que ca pourrait interesser:

          Sub test ()

          Set c = ActiveSheet.Columns(1).find(CDate(range("C2")), LookIn:=xlValues, lookat:=xlWhole)
          If Not c Is Nothing Then
          ActiveWindow.ScrollRow = c.Row
          End If

          End Sub

          et encore merci Michel pour ton aide!

          Bonne fin de journée
          0