Date d'inscription mars 2005Localisation PARISMessages 2 550UtiliseExcel 2003 (PC)
[h=2]
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" & 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???
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)
En fait si je comprend bien puisque pas de fichier de travail ,
la date n'est pas une valeur mais un calcul de la cellule précédente + 1 ?
Sinon pourquoi convertir en double la date
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.