OVH Cloud OVH Cloud

Syntaxe date

5 réponses
Avatar
DéGé
Bonjour à tous.

Un petit souci avec la syntaxe à employer pour les dates.
Dans l'exemple suivant, je veux récupérer le n° de ligne
correspondant au 1er mai.
--------------------------------------------------------------
Private Sub CommandButton1_Click()

Dim Cell, TableauDates As Range

Set TableauDates = Range("Dates")

For Each Cell In TableauDates
If ActiveCell.Value = 1 / 5 / 2005 Then
LignePremierMai = ActiveCell.Row
End If
Next Cell
End Sub
----------------------------------------------------------------
Merci à vous
DéGé

5 réponses

Avatar
MichDenis
Bonjour DéGé,

'------------------------------------
Private Sub CommandButton1_Click()

Dim MaDate As Long
Dim Cell, TableauDates As Range

Set TableauDates = Range("Dates")

'pour une date = 12 avril 2005
MaDate = CLng(DateSerial(2005, 5, 12))

For Each Cell In TableauDates
If ActiveCell.Value2 = madate Then
LignePremierMai = ActiveCell.Row
End If
Next Cell
End Sub
'------------------------------------


Salutations!


"DéGé" a écrit dans le message de news: 425bc2b2$0$1242$
Bonjour à tous.

Un petit souci avec la syntaxe à employer pour les dates.
Dans l'exemple suivant, je veux récupérer le n° de ligne
correspondant au 1er mai.
--------------------------------------------------------------
Private Sub CommandButton1_Click()

Dim Cell, TableauDates As Range

Set TableauDates = Range("Dates")

For Each Cell In TableauDates
If ActiveCell.Value = 1 / 5 / 2005 Then
LignePremierMai = ActiveCell.Row
End If
Next Cell
End Sub
----------------------------------------------------------------
Merci à vous
DéGé
Avatar
Daniel.M
Bonjour,

If ActiveCell.Value2 = madate Then
LignePremierMai = ActiveCell.Row


Pour permettre l'itération à l'intérieur de la boucle For,

If Cell.Value2 = madate Then
LignePremierMai = Cell.Row

Salutations,

Daniel M.

Avatar
MichDenis
Bonjour Daniel,

C'est vrai que de cette façon, ça "itère" mieux ...;-))

Je n'avais de yeux que pour les dates !

Merci d'avoir corrigé.

Salutations!


"Daniel.M" a écrit dans le message de news:
Bonjour,

If ActiveCell.Value2 = madate Then
LignePremierMai = ActiveCell.Row


Pour permettre l'itération à l'intérieur de la boucle For,

If Cell.Value2 = madate Then
LignePremierMai = Cell.Row

Salutations,

Daniel M.

Avatar
Daniel.M
Salut Denis,

C'est vrai que de cette façon, ça "itère" mieux ...;-))


:-)

Faudrait faire :
For Each Cell In Range("Dates") ' <== au lieu du tableau

aussi, puisqu'on considère Cell comme une cellule (en récupérant ses propriétés
.Value2 et .Row

Salutations,

Daniel M.

Avatar
DéGé
Merci à vous.

DéGé

"Daniel.M" a écrit dans le message de
news: uBW$
Salut Denis,

C'est vrai que de cette façon, ça "itère" mieux ...;-))


:-)

Faudrait faire :
For Each Cell In Range("Dates") ' <== au lieu du tableau

aussi, puisqu'on considère Cell comme une cellule (en récupérant ses
propriétés
.Value2 et .Row

Salutations,

Daniel M.