OVH Cloud OVH Cloud

Trouver le debut et la fin d'une plage

3 réponses
Avatar
apt
Bonjour,

Comment d=E9terminer le debut et la fin de la plage ou Valeur est =E9gal
=E0 14 ?

Valeur Date
13 31/03/2006
14 01/04/2006
14 02/04/2006
14 03/04/2006
14 04/04/2006
14 05/04/2006
14 06/04/2006
14 07/04/2006
15 08/04/2006

'------------------------------------------------
Sub TrouvePlg(Valeur As Integer);
Dim Debut, Fin
Debut =3D ???
Fin =3D ???
MsgBox "Votre Plage commence =E0 la date : " & Debut & ", et se termine
=E0 la date : "& Fin
End Sub
'----------------------------------------------

Merci d'avance.
Merci.

3 réponses

Avatar
Jacky
Bonjour,
Ceci peut-être:
Les plages sont à adapter
'---------
Debut = Application.Index([b1:b12], Application.Match(Valeur, [A1:A12], 0))
Fin = Application.Index([b1:b12], Application.Match(Valeur, [A1:A12], 1))
'-----------
Pas testé ;-(
Salutations
JJ

"apt" a écrit dans le message de news:

Bonjour,

Comment déterminer le debut et la fin de la plage ou Valeur est égal
à 14 ?

Valeur Date
13 31/03/2006
14 01/04/2006
14 02/04/2006
14 03/04/2006
14 04/04/2006
14 05/04/2006
14 06/04/2006
14 07/04/2006
15 08/04/2006

'------------------------------------------------
Sub TrouvePlg(Valeur As Integer);
Dim Debut, Fin
Debut = ???
Fin = ???
MsgBox "Votre Plage commence à la date : " & Debut & ", et se termine
à la date : "& Fin
End Sub
'----------------------------------------------

Merci d'avance.
Merci.
Avatar
michdenis
Bonjour Apt,

Adapte le nom de la feuille.

J'ai supposé que tes données (14) étaient en colonne B:B
et que tes dates étaient en colonne C:C

Cette expression est nécessaire :
On Error Resume Next
Car quand la méthode "Find" ne trouve pas ce qu'elle cherche
elle génère une erreur de type 91.

'-------------------------------
Dim Debut As Range
Dim Fin As Range

On Error Resume Next
With worksheets("Feuil1")
With .Range("B:B")
Set Debut = .Find(What:, After:=.Item(65536), _
searchorder:=xlByColumns, Searchdirection:=xlNext)
Set Fin = .Find(What:, After:=.Item(65536), _
searchorder:=xlByColumns, Searchdirection:=xlPrevious)
End With
End With
MsgBox "Votre Plage commence à la date : " & Debut.Offset(, 1) & _
", et se termine à la date : " & Fin.Offset(, 1)
'-------------------------------


Salutations!




"apt" a écrit dans le message de news:
Bonjour,

Comment déterminer le debut et la fin de la plage ou Valeur est égal
à 14 ?

Valeur Date
13 31/03/2006
14 01/04/2006
14 02/04/2006
14 03/04/2006
14 04/04/2006
14 05/04/2006
14 06/04/2006
14 07/04/2006
15 08/04/2006

'------------------------------------------------
Sub TrouvePlg(Valeur As Integer);
Dim Debut, Fin
Debut = ???
Fin = ???
MsgBox "Votre Plage commence à la date : " & Debut & ", et se termine
à la date : "& Fin
End Sub
'----------------------------------------------

Merci d'avance.
Merci.
Avatar
apt
Merci beaucoup JAcky et michdenis.

C'est sympa de votre part.