La fonction DateSerial permet de réaliser une macro pour créer une date à partir de trois valeurs : année, mois et jour.
La fonction DateSerial
La fonction VBA DateSerial suit la syntaxe suivante :
DateSerial(annee,mois,jour)
où :
- annee est un nombre entier représentant l'année
- mois un nombre entier représentant le mois
- jour est un nombre entier représentant le jour
Exemple de macro avec DateSerial
La macro
Sub macro()
Dim col_annee, col_mois, col_jour 'Variables
Dim i As Integer
col_jour = 1 'colonne A contenant le jour
col_mois = 2 'colonne B contenant le mois
col_annee = 3 'colonne C contenant l'annéeFor i = 1 To 5
ActiveCell.Offset(0, 0).FormulaR1C1 = _
DateSerial(Cells(i, col_annee), Cells(i, col_mois), Cells(i, col_jour)) ActiveCell.Offset(1, 0).SelectNext i End Sub
Les données sources
A | B | C | D | E | |
---|---|---|---|---|---|
1 | 1 | 2 | 2019 | ||
2 | 29 | 4 | 2019 | ||
3 | 25 | 7 | 2019 | ||
4 | 20 | 10 | 2019 | ||
5 | 16 | 1 | 2020 |
Le résultat
A | B | C | D | E | |
---|---|---|---|---|---|
1 | 1 | 2 | 2019 | 01/02/2019 | |
2 | 29 | 4 | 2019 | 29/04/2019 | |
3 | 25 | 7 | 2019 | 25/07/2019 | |
4 | 20 | 10 | 2019 | 20/10/2019 | |
5 | 16 | 1 | 2020 | 16/01/2020 |