Bonsoir,
Je n'arrive pas à utiliser cette fonction:
Function DateAddress(Plage As Range, LaDate) As String
'recherche une date dans une plage d'une ligne ou d'une colonne
'renvoie l'adresse de la cellule où elle a été trouvée en cas
'de succès, une chaîne vide dans tous les autres cas
Dim ArrDates, Li&, S$
'ne traite pas les plages discontinues
S = Plage.Address
If InStr(1, S, ";") > 0 Or InStr(1, S, ",") > 0 Then Exit Function
'ni plusieurs lignes/colonnes
If Plage.Rows.Count > 1 And Plage.Columns.Count > 1 Then Exit Function
'Value2 contient le numéro de série d'une date
ArrDates = Plage.Value2
On Error Resume Next
Li = Application.Match(CLng(CDate(LaDate)), ArrDates, 0)
On Error GoTo 0
'aucune correspondance
If Li = 0 Then Exit Function
If Plage.Columns.Count = 1 Then
'colonne
DateAddress = Plage.Range("A" & Li).Address(0, 0)
Else
'ligne
DateAddress = Cells(Plage.Row, Plage.Column + Li - 1).Address(0, 0)
End If
End Function
date_existe = DateAddress("A4:A65336", D)
ou D=inputbox("entrez une date")
ce qui pose problème c'est la plage ce n'est apparemment pas le type attendu
J'envahis un peu le forum mais si quelqu'un pouvait m'aider ce serait trés sympas merci d'avance
Je n'arrive pas à utiliser cette fonction:
Function DateAddress(Plage As Range, LaDate) As String
'recherche une date dans une plage d'une ligne ou d'une colonne
'renvoie l'adresse de la cellule où elle a été trouvée en cas
'de succès, une chaîne vide dans tous les autres cas
Dim ArrDates, Li&, S$
'ne traite pas les plages discontinues
S = Plage.Address
If InStr(1, S, ";") > 0 Or InStr(1, S, ",") > 0 Then Exit Function
'ni plusieurs lignes/colonnes
If Plage.Rows.Count > 1 And Plage.Columns.Count > 1 Then Exit Function
'Value2 contient le numéro de série d'une date
ArrDates = Plage.Value2
On Error Resume Next
Li = Application.Match(CLng(CDate(LaDate)), ArrDates, 0)
On Error GoTo 0
'aucune correspondance
If Li = 0 Then Exit Function
If Plage.Columns.Count = 1 Then
'colonne
DateAddress = Plage.Range("A" & Li).Address(0, 0)
Else
'ligne
DateAddress = Cells(Plage.Row, Plage.Column + Li - 1).Address(0, 0)
End If
End Function
date_existe = DateAddress("A4:A65336", D)
ou D=inputbox("entrez une date")
ce qui pose problème c'est la plage ce n'est apparemment pas le type attendu
J'envahis un peu le forum mais si quelqu'un pouvait m'aider ce serait trés sympas merci d'avance