Merci pour ces précisions.
J'ai rajouté une colonne a gauche. J'ai changé les indices donc c'est bon ça marche toujours.
En revanche j'ai essayé de rajouté une ligne à la macros pour que cela m'affiche la date prévue et la date effective de livraison. (rajout en rouge)
Et comme je m'en doutais, il y a un truc que je n'ai pas compris puisque ça ne marche pas
Sub PlandeCharge()
Dim TabSuivi() As Variant
Dim TabPdC() As Variant
With Sheets("TB_Suivi")
TabSuivi = .Range("Tableau2").Value
End With
With Sheets("Plan de charge")
FinFeuille = .Range("A" & .Rows.Count).End(xlUp).Row
.UsedRange.Offset(1, 1).ClearContents
TabPdC = .Range("A2").Resize(FinFeuille, UBound(TabSuivi, 1) + 1).Value
End With
For i = LBound(TabSuivi, 1) To UBound(TabSuivi, 1) 'pour chaque ligne = pour chaque projet
Etude = TabSuivi(i, 1)
Livraison = TabSuivi(i, 3)
DateLivraison = TabSuivi(i, 4)
Debut = TabSuivi(i, 6)
Fin = TabSuivi(i, 7)
AvantProjet = TabSuivi(i, 8)
AprèsProjet = TabSuivi(i, 10)
For j = LBound(TabPdC, 1) To UBound(TabPdC, 1)
If TabPdC(j, 1) >= Debut And TabPdC(j, 1) <= Fin Then 'pendant la campagne
TabPdC(j, 1 + i) = "Campagne"
End If
If TabPdC(j, 1) < Debut And TabPdC(j, 1) >= Debut - 7 * AvantProjet Then TabPdC(j, i + 1) = "Avant"
If TabPdC(j, 1) > Fin And TabPdC(j, 1) <= Fin + 7 * AprèsProjet Then TabPdC(j, i + 1) = "Après"
If TabPdC(j, 1) = DateLivraison Then TabPdC(j, 1 + i) = "Livraison prévue"
If TabPdC(j, 1) = Livraison Then TabPdC(j, 1 + i) = "Livrée"
Next j
Next i
With Sheets("Plan de charge")
.Range("A2").Resize(UBound(TabPdC, 1), UBound(TabPdC, 2)) = TabPdC
formule = "=SERIE.JOUR.OUVRE(A2;1;Fériés!$D$6:$D$17)"
.Range("A3").FormulaLocal = formule
.Range("A3:A" & FinFeuille).FillDown
End With
End Sub