Bonjour,
Dans mon fichier de plannif,
j'ai une macro qui me permets de dupliquer une ligne et de changer la date (-1jrs sur la date dupliquée), de faire 1 division et une multiplication dans des colonnes.
Tout cela fonctionne très bien, cependant je souhaiterai que la date dupliquée prenne en compte les week-end et jours de fermeture de l'entreprise (feuille fermeture de mon fichier).
J'ai compris la fonction mais je n'arrive pas à l'appliquer dans cette macro (que je n'ai pas faite). Je suppose que ce doit être au niveau de cette ligne de commande
ActiveCell.FormulaR1C1 = "=R[1]C-1" 'modif du jours
En fouillant un peu, j'ai tenté d'intégrer cela, mais ça bloque sur Star date.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Dim StartDate As Date, Days As Long, Week As String, Holydays As Range StartDate = R[1] Days = 2 Week = "0000001" Set Holydays = Range("Fermeture[Date]") ActiveCell.FormulaR1C1 = "=CDate(Application.WorkDay_Intl(StartDate, Days, Week, Holydays))" 'modif du jour
Pouvez-vous m'aider à l'intégrer SVP ?
Voici la macro
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Sub Test() ' Boucle 07HA Debut Range("A4").Select RechercheFamille = Cells.Find(what:="07HA", After:=ActiveCell, LookIn:=xlFormulas, lookat _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate nbOccurences = Application.CountIf(Range("B4:B3000"), "07HA") While nbOccurences > O Selection.Offset(1, 0).Select ActiveCell.EntireRow.Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Selection.FillDown 'Range(LC + 1).Select Selection.Offset(-1, 0).Select ActiveCell.FormulaR1C1 = "=R[1]C-1" 'modif du jours ActiveCell.Offset(0, 2).Select ActiveCell.FormulaR1C1 = "=RC[4]/RC[5]" 'formule nombre de barre pour l'of Selection.NumberFormat = "0.000" Selection.Offset(0, 5).Select 'déplacement Colonne +5 histo Range("H264").Select ActiveCell.FormulaR1C1 = "=R[1]C*2" 'nbre de pc par barre x2 Selection.Offset(1, -6).Select 'Range("B265").Select ActiveCell.FormulaR1C1 = "3" Selection.Offset(1, 0).Select 'Range("B266").Select nbOccurences = nbOccurences - 1 Wend ' Fin Boucle 07HA End Sub
Je vous joins le fichier excel en question
Dev plannif.xlsm
Merci d'avance pour votre aide
Partager