Propriété méthode pas géree objet

Bonjour à tous,

Quelqu'un saurait t il m'expliquer pourquoi le même code fonctionne pas sur une feuille:

Sub test()
Dim thisDate As Date
Dim thisMonth As Integer
thisDate = Sheets("cascade").Month(Cells(2, 4))
thisMonth = Month(thisDate)
MsgBox thisMonth
End Sub
sans titre

alors qu'il fonctionne comme çà:

Sub test2()
Dim thisDate As Date
Dim thisMonth As Integer
thisDate = "02/08/2019"
thisMonth = Month(thisDate)
MsgBox thisMonth
End Sub

merci

fronck

6cascade.xlsm (38.85 Ko)

Salut,

Ah, quand on a le nez dessus, ça nous échappe parfois le mois ... d'une feuille !?

J'écrirais éventuellement

thisDate = Month(Sheets("cascade").Cells(2, 4))

Mais pourquoi extraire le mois, si tu refais la manip à la ligne suivante (et que ta variable est nommée "thisDate" ?)

Bonjour,

Month est une fonction, pas une propriété d'un objet "Sheet" ou "Worksheet".

En clair, il faudrait remplacer :

thisDate = Sheets("cascade").Month(Cells(2, 4))

Par :

thisDate = Month(Sheets("cascade").Cells(2, 4))

Ou en 2 lignes :

thisDate = Sheets("cascade").Cells(2, 4)
thisMonth = Month(thisDate)

Edit : salut U.Milité !

Bonjour,

Sub test()

Dim thisDate As Date

Dim thisMonth As Integer

thisDate = Sheets("cascade").Month(Cells(2, 4)) ' Tu demandes le mois ? alors ce n'est plus une date ?

thisMonth = Month(thisDate) ' Ensuite de redemande le mois du mois ?

MsgBox thisMonth

End Sub

Plutot comme ceci non ?

Sub test()

Dim thisDate As Date

Dim thisMonth As Integer

thisDate =Format(CDate(Worksheets("cascade").Cells(2, 4).Value), "dd/mm/yyyy")

thisMonth = Month(thisDate)

MsgBox thisMonth

End Sub

Bonjour à tous,

ok j'ai bien fait 2 erreurs,

çà marche comme çà:

Sub test()
Dim thisDate As Date
Dim thisMonth As Integer
thisDate = Sheets("cascade").Cells(2, 4)
thisMonth = Month(thisDate)
MsgBox thisMonth
End Sub

merci à vous 3

fronck

Rechercher des sujets similaires à "propriete methode pas geree objet"