Je mets dans la cellule A1 une date ouvrée (du lundi au vendredi), non
fériée.
Comment puis-je avoir sous la cellule A1, la liste des x jours ouvrés
suivants.
exemple:
je mets le 09/07/2003 dans la cellule A1
je souhaiterai que les cellules A2, A3, ..., Ax (x donné) contiennent:
10/07/03
11/07/03
15/07/03
etc..
J'ai oublié de dire que ma version de Excel est Excel2000.
Manu
AV
Alternative..... Pour une année donnée et avec une plage nommée "JrsF" Ecrire une série de X jours ouvrés à partir d'une date issue de la cellule active :
Sub zz_X_Jours_Ouvrés() If Not IsDate(ActiveCell) Then Exit Sub x = InputBox("Combien de jours ouvrés à écrire ?", "") L = ActiveCell.Row + 1: C = ActiveCell.Column For Each cel In Range(Cells(L, C), Cells(L + x - 1, C)) dat = cel.Offset(-1, 0) * 1 + 1 While Weekday(dat + nb, 2) > 5 Or _ Evaluate("isnumber(match(" & dat + nb & ",JrFs,0))") = True nb = nb + 1 Wend cel.Value = dat + nb: nb = 0 Next End Sub 'AV
AV
Alternative.....
Pour une année donnée et avec une plage nommée "JrsF"
Ecrire une série de X jours ouvrés à partir d'une date issue de la cellule
active :
Sub zz_X_Jours_Ouvrés()
If Not IsDate(ActiveCell) Then Exit Sub
x = InputBox("Combien de jours ouvrés à écrire ?", "")
L = ActiveCell.Row + 1: C = ActiveCell.Column
For Each cel In Range(Cells(L, C), Cells(L + x - 1, C))
dat = cel.Offset(-1, 0) * 1 + 1
While Weekday(dat + nb, 2) > 5 Or _
Evaluate("isnumber(match(" & dat + nb & ",JrFs,0))") = True
nb = nb + 1
Wend
cel.Value = dat + nb: nb = 0
Next
End Sub 'AV
Alternative..... Pour une année donnée et avec une plage nommée "JrsF" Ecrire une série de X jours ouvrés à partir d'une date issue de la cellule active :
Sub zz_X_Jours_Ouvrés() If Not IsDate(ActiveCell) Then Exit Sub x = InputBox("Combien de jours ouvrés à écrire ?", "") L = ActiveCell.Row + 1: C = ActiveCell.Column For Each cel In Range(Cells(L, C), Cells(L + x - 1, C)) dat = cel.Offset(-1, 0) * 1 + 1 While Weekday(dat + nb, 2) > 5 Or _ Evaluate("isnumber(match(" & dat + nb & ",JrFs,0))") = True nb = nb + 1 Wend cel.Value = dat + nb: nb = 0 Next End Sub 'AV