Fonction find pour trouver une date
namm
-
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,
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,
A voir également:
- Fonction find pour trouver une date
- Fonction si et - Guide
- Trouver adresse mac - Guide
- Find and mount - Télécharger - Récupération de données
- Ou trouver l'adresse ip - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
4 réponses
Bonjour
essaies
Set celluletrouvee = Range("A4:" & Range("A4").End(xlDown).Address).Find(Range("c2"), Range("A4"))
essaies
Set celluletrouvee = Range("A4:" & Range("A4").End(xlDown).Address).Find(Range("c2"), Range("A4"))
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
...
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
...
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
nota: il faut que les dates soient rigoureusement au m^me format
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
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