j'ai supprimer +1, j'ai effacer la ligne rien
j'en suis ici et toujours rien
Sub macro3()
Dim ws1 As Worksheet, ws2 As Worksheet
Dim i As Long, jour As Long
Dim nom As String, dateDebut As Date, dateFin As Date
Dim plateforme As String, nbreNuit As Long, nbrePersonne As Long, prixNet As Double
Dim datePlanning As Date
Dim colorIndex As Long
Dim colors() As Variant
Set ws1 = ThisWorkbook.Sheets("Feuil1")
Set ws2 = ThisWorkbook.Sheets("Feuil2")
colors = Array(, 4, 6, 7, 8, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 26, 28, 33, 38, 43, 44, 54) ' Exemple de couleurs
colorIndex = 0
' Parcourir les lignes de Feuil1
For i = 2 To ws1.Cells(ws1.Rows.Count, 1).End(xlUp).Row
nom = ws1.Cells(i, 1).Value ' Colonne AA
dateDebut = ws1.Cells(i, 2).Value ' Colonne BB
dateFin = ws1.Cells(i, 3).Value ' Colonne CC
plateforme = ws1.Cells(i, 4).Value ' Colonne DD
nbreNuit = ws1.Cells(i, 5).Value ' Colonne EE
nbrePersonne = ws1.Cells(i, 6).Value ' Colonne FF
prixNet = ws1.Cells(i, 7).Value ' Colonne GG
If IsDate(dateDebut) And IsDate(dateFin) Then
' Utiliser la même couleur pour toute la plage de dates
Dim startColumn As Long
' Modifier la boucle pour inclure toutes les dates entre dateDebut et dateFin
For datePlanning = dateDebut To dateFin
jour = Day(datePlanning)
' Vérifier si la date est dans la plage du calendrier
If jour >= 1 And jour <= 366 Then
' Remplir la cellule de la journée
ws2.Cells(7, jour + 1).Value = nom & " / " & plateforme & " / " & nbreNuit & "n" & " / " & nbrePersonne & "p" & " / " & prixNet & "€"
' Appliquer la couleur
ws2.Cells(7, jour + 1).Interior.colorIndex = colors(colorIndex Mod UBound(colors) + 1)
End If
Next datePlanning
colorIndex = colorIndex + 1
End If
Next i
' Orientation du texte à 90°
ws2.Cells(7, 1).Resize(1, 32).Orientation = 90
End Sub