Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Fin de colonne

0 views
Skip to first unread message

Marc de N.

unread,
Jan 6, 2003, 4:29:37 AM1/6/03
to
Bonjour mes meilleurs voux à toutes et à tous
Voici un bout d'application qui fonctionne bien .
Il recherche une date classer dans le sens décroissant se
trouvant dans la colonne C.
Lorsqu'il n'a pas trouvé la date il recherche la date
suivante.
Le seul petit problème lorsqu'il n'y a plus de date dans
la colonne.
i = i + i continue de compter.
--------------------------------------
Sub CherDatFinFS() ' Ok
Dim Dat2, Dat3, Arr2, Pos2 As Variant, i&
' Dat2 = InputBox("indiquez la date" & _ 'ligne pour
essai
' Chr(10) & "de fin à rechercher (dat2) :" & Chr
(10) & " JJ/MM/AA")
Dat2 = DatFin
If Dat2 = "" Or Not IsDate(Dat2) Then
' MsgBox "ERREUR Dat2"
eRRe = "ERREUR"
Exit Sub
Else
Dat2 = DateValue(Dat2)
Arr2 = _
Range("C1:C" & Cells(Rows.Count, "C").End
(xlUp).Row).Value2
If Not IsError(Application.Match(CLng(Dat2), Arr2, 0))
Then
Pos2 = Application.Match(CLng(Dat2), Arr2, 0)
i = Pos2
Do
i = i + 1
If Cells(i, "C").Value = Dat2 Then _
Pos2 = Cells(i, "C").Row
Loop Until i = Cells(Rows.Count, "C").End(xlUp).Row
' MsgBox "Le " & Dat2 & Chr(10) & " a été trouvé en
C" & Pos2

Else
If Dat2 > Application.Max(Arr2) Then 'Or Dat2 <
Application.Min(Arr2) Then
MsgBox "Le " & Dat2 & " n'a pas été trouvé et " & _
"aucune date suivante n'existe."
eRRe = "ERREUR"
Exit Sub
End If
Do
Dat2 = Dat2 + 1
Pos2 = Application.Match(CLng(Dat2), Arr2, 0)
Loop Until Not IsError(Pos2)
i = Pos2
Do
i = i + 1
If Cells(i, "C").Value = Dat2 Then _
Pos2 = Cells(i, "C").Row 'erreur 1004
Loop Until i = Cells(Rows.Count, "C").End(xlUp).Row
' MsgBox "Date suivante la plus proche : " & _
Chr(10) & Dat2 & " en C" & Pos2
End If
End If
LigDatFin = Pos2
' MsgBox "Valide ERREUR " & eRRe
End Sub 'FS
----------------------------------------
Merci a ceux qui me donneraient la solution pour arrêter
le comptage de i lorsque la colonne date devient vide et
me donne la dernière date de la colonne.
Slt à plus
Marc

Benoit Cornille

unread,
Jan 6, 2003, 6:53:13 AM1/6/03
to
Salut,
Je n'ai pas tout regarder, mais :
Tu marque ; If Cells(i, "C").Value = Dat2 Then
Tu peux ajouter ;
If Cells(i, "C").Value = "" Then Exit Sub

>-----Message d'origine-----

>.
>

0 new messages