Fonction find pour trouver une date

namm -  
 namm -
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. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour
    essaies
    Set celluletrouvee = Range("A4:" & Range("A4").End(xlDown).Address).Find(Range("c2"), Range("A4"))
    0
  2. namm
     
    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
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  4. namm
     
    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