Bonjour à tous,
J’ai une colonne de 20 cellules contenant des dates.
J’ai nommé chaque cellule : « Cumple1 », « Cumple2 », … , « Cumple20 ».
J’ai rédigé dans un premier temps la macro suivante qui marche très bien :
Sub Zaza ()
Dim i As Byte, dn(20) As Date, mdn(20) As Byte, jdn(20) As Byte ‘3 matrices statiques
For i = 1 To 20
dn(i) = Range("Cumple" & i).Value
mdn(i) = Month(dn(i)) ‘je récupère le numéro du mois de la date
jdn(i) = Day(dn(i)) ‘je récupère le numéro du jour de la date
Next i
Etc.
End Sub
Supposons maintenant que la colonne au lieu d’avoir 20 cellules en ait 200 ; je ne me vois pas nommer individuellement 200 cellules ! (au-delà, bien évidemment, je déclarerais mes variables %)
J’ai nommé la colonne entière “ListeDatesCumples” et ai tenté ceci :
Sub Zaza ()
Dim cell As Range, i As Byte, dn() As Date, mdn() As Byte, jdn() As Byte ‘3 matrices dynamiques
For Each cell In [ListeDatesCumples]
ReDim Preserve mdn(i) As Byte
ReDim Preserve jdn(i) As Byte
i = i + 1
dn(i) = cell.Value
mdn(i) = Month(dn(i))
jdn(i) = Day(dn(i))
Next cell
Etc.
End Sub
Ça me paraissait pourtant logique. Et bien non. Echec retentissant.
Où est donc l’erreur ?
Merci de me corriger.