Dans la feuille INPUT, les lignes de données pour la planification de semaine sont saisies. Plusieurs lignes par jour est possible. La colonne A contient les dates de la semaine d'origine de l'horaire. Lorsque la planification complète est définie dans la feuille INPUT (disons 15 lignes par 10 colonnes de données), une macro peut être exécutée qui copie la planification dans la feuille OUTPUT et la crée pour une année complète. Par conséquent, je code VBA pour copier le bloc de données et le coller sous la semaine précédente et mettre à jour les dates par 7 jours.Ajouter une semaine à une plage de dates dans VBA
Je rencontre des difficultés avec la fonction DateAdd.
Est-ce que quelqu'un connaît une bonne solution?
Dim i As Integer
Dim rowCount As Long
Dim columnCount As Long
Sheets("OUTPUT").Select
Sheets("OUTPUT").Cells.Clear
Sheets("INPUT").Select
rowCount = Sheets("INPUT").Range("A6", Sheets("INPUT").Range("A6").End(xlDown)).Rows.Count - 1
columnCount = Sheets("INPUT").Range("A5", Sheets("INPUT").Range("A5").End(xlToRight)).Columns.Count - 1
Range("A5").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("OUTPUT").Select
Range("A1").Select
ActiveSheet.Paste
For i = 1 To 51
Range("A" & Rows.Count).End(xlUp).Select
Range(Selection, Selection.Offset(-rowCount, columnCount)).Copy
Range("A" & Rows.Count).End(xlUp).Select
ActiveCell.Offset(1, 0).PasteSpecial
Range("A" & Rows.Count).End(xlUp).Select
Range(Selection, Selection.Offset(-rowCount, 0)).Value = DateAdd("d", 7, Range(Selection, Selection.Offset(-rowCount, 0)).Value)
Next i
Évitez d'utiliser le produit ... http: //stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros – Rdster
http://stackoverflow.com/questions/16259166/add -x-nombre-de-jours-a-date-avec-vba-in -excel/16259223 # 16259223 –
Je suis enclin à fermer ceci en tant que doublon sauf si vous pouvez montrer un code supplémentaire qui démontre comment ce problème diffère des autres Q similaires tels que celui lié ci-dessus (au-delà de votre 'Selection', qui est vraiment hors de propos au problème à portée de main). –