Bonjour,
Le même cause produisent le même effets ByRef ou ByVal??
évites d'utiliser des objets dépendant d'Excel dans ton module de classe.
on évite d’afficher des message.
il faut voir ton application en 3 tiers.
le client qui est l'interfaces utilisateur (affiche entre autre les MsgBox)
le métier ton module de classe en occurence
la base de données Excel pour ce qui nous concerne.
ainsi ton application devient exploitable presque en l'état si tu change le client web par exemple
ou la base de données SQL serveur par exemle.
en mélangent les genre tu est quittes pour réécrire tout ton code si d'aventure ton client te demande de migrer sur ACCESS.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Private mDates As Date' DATES
Property Get Dates() As Date()
Dates() = mDates()
End Property
Property Let Dates(ByRef Dates() As Date)
Dim L As Interger:L=-1
On error resume next
L=ubound(Dates)
on error goto 0
If L = -1 Then
MsgBox "Veuillez renseigner les dates en colonne B."
Else:
mDates() = Dates()
End Property |
StockA.Dates() = AsDate(Range(Cells(5, 2), Cells(LastRow-4, 2)).Value)
1 2 3 4 5 6 7 8 9 10 11
| Public Function AsDate(ByRef V)As Date()
Dim u() As Date
Dim i As Integer
For i = 0 To uboud(V)-1
ReDim Preserve u(i)
MsgBox V(i +1, 1)
u(i ) = V(i +1, 1) Next
AsDate=U
end sub |
pour le coup j'ai rien testé.
Partager