VBA recherche date en ligne

C@thy

XLDnaute Barbatruc
#1C@thy
  • profile.png
    Voir le profil
  • forum.png
    Voir ses messages
  • message.png
    Message privé
  • email.png
    Envoyer un email
user-online.png

XLDnaute Barbatruc
avatar480_9.gif

Date d'inscription mars 2005Localisation PARISMessages 2 550UtiliseExcel 2003 (PC)

[h=2]
icon6.png
VBA recherche date en ligne[/h]
Bonjour le forum,

ceci fonctionne pour une recherche de date sur une colonne (la A en l'occurence):

Sub rechercheDate()
DerLigne = Range("A" & Rows.Count).End(xlUp).Row
Set a = Range("A2:A" & DerLigne )
b = CDbl(Date)
c = Application.Match(b, a, 0)
ligdeb = a(c).Row
MsgBox "date trouvée en ligne " & ligdeb
End Sub

mais ceci ne fonctionne pas lorsque les dates sont en ligne... (la ligne 2)
Sub rechercheDateLigne()
derCol = Cells(2, Cells.Columns.Count).End(xlToLeft).Column
Set a = Range("D2:D" & derCol )
b = CDbl(Date)
c = Application.Match(b, a, 0)
coldate= a(c).column
MsgBox "date trouvée en colonne " & coldate
End Sub

j'imagine que le match (très pratique!) ne fonctionne pas dans ce cas.

Y a-t-il une solution, à part examiner cellule par cellule les dates répertoriées en ligne???

Merci à vous

Bises

C@thy
 
Dernière édition:

titiborregan5

XLDnaute Accro
Re : VBA recherche date en ligne

Bonjour Cathy, le forum,

pourquoi le match ne fonctionnerait-il pas?
avec un .find (je ne sais pas si ça te convient mais bon)
VB:
Range("b5") = Rows(1).Find(what:=Range("a5")).Column

qui me permet de trouver la colonne de la date écrite en A5 et de renvoyer le numéro de la colonne en B5 (je ne sais pas comment on traduit un numéro de colonne en Lettre)

Tibo
Edit : salut Pierrot
 
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Re : VBA recherche date en ligne

Bonjour + bise, C@thy :D, Pierrot :D, titiborregan5, le Forum,

Pour une date en ligne 2, peut-être ainsi :

Code:
Option Explicit
Sub Où()
Rows(2).Find(Date).Select
End Sub

A bientôt :)

P. S. : Je n'ai pas fourni le bon code pour la question posée :eek:... Me faudrait une loupe :rolleyes:
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : VBA recherche date en ligne

Bonjour C@thy, bonjour les ami(e)s,

Il faut définir correctement la plage a :

Code:
Sub rechercheDateLigne()
Dim a As Range, b As Double, c As Variant
Set a = [D2].Resize(, Columns.Count - 3)
b = Date 'CDbl(Date)
c = Application.Match(b, a, 0)
If IsNumeric(c) Then MsgBox "date trouvée en colonne " & c + 3
End Sub
CDbl n'est pas nécessaire si b est bien déclarée As Double.

A+
 

Statistiques des forums

Discussions
312 803
Messages
2 092 250
Membres
105 316
dernier inscrit
cyrille225