coloriage automatique cellules Retroplanning

NL46

XLDnaute Nouveau
Bonjour à tous,

Je rencontre une problematique en ce qui concerne le coloriage automatique des cellules de mon calendrier en fonction des dates affichées dans mon Retroplanning.

Ci-joint un exemplaire de mon fichier remplie manuellement.

Savez-vous si c'est possible ? Et si oui comment procéder ?

Merci par avance de votre aide

NL46#
 

Pièces jointes

  • Modele_Retroplanning.xls
    37.5 KB · Affichages: 722

JNP

XLDnaute Barbatruc
Re : coloriage automatique cellules Retroplanning

Bonjour NL46 :),
Savez-vous si c'est possible ? Et si oui comment procéder ?
Oui, c'est possible, mais il va falloir procéder via VBA pour fusionner les cellules et leur adjoindre la couleur. Par contre, ça va être le souk entre les années. Ne serait-il pas plus simple de passer par Project ;)?
Bonne journée :cool:
 

JNP

XLDnaute Barbatruc
Re : coloriage automatique cellules Retroplanning

Re :),
Peux-tu m'en dire un peu plus concernant VBA et Project.
VBA, c'est ce qu'on appelle les macros sous Excel. Donc de la programmation. Il va falloir balayer tes dates, récupérer ce qui est en face comme activité, la couleur que tu as sur la date, etc. (ça, pas trop difficile), puis localiser les dates sur ton calendrier (avec les ruptures de mois, pas évident), fusionner les cellules, mettre la couleur, le texte.
Microsoft Project est un logiciel totalement dédié au suivi de projets, te permettant de mettre à cheval tes rétroplannings, de vérifier la disponibilité de tes équipes, etc., bref un outil qui me parait adapté (certes payant) à tes besoins. Tu peux charger la version 2010 Béta ICI.
Bon courage :cool:
 

JNP

XLDnaute Barbatruc
Re : coloriage automatique cellules Retroplanning

Re :),
Si vous pouvez juste me montrer sur les 2 premières cellules pour que je comprenne le procédé ce serait cool.
Facile à dire, mais pas à faire :p...
Traiter 2 cellules ou toutes, ça revient au même :rolleyes:.
Bon, j'espère que ça fonctionnera si tu n'es pas en 2007...
Bonne soirée :cool:
 

Pièces jointes

  • Modele_Retroplanning(1).xls
    59.5 KB · Affichages: 412

JNP

XLDnaute Barbatruc
Re : coloriage automatique cellules Retroplanning

Re :),
Merci beaucoup JNP, c'est du super boulot. Peux-tu juste m'expliquer rapidement comment as-tu fait ?
Ben, avec mes petits doigts musclés, et 3 aspros :D...
Attention, je n'ai fait que d'après ton fichier, il y a des adaptations à faire pour la géométrie variable (ajout ou suppression d'étapes) et pour le chevauchement des mois (je n'ai prévu qu'un chevauchement, si ça s'étend sur 3 mois, ça fusillera le tableau) ;).
Je vais essayer de te commenter un peu le code
Code:
Sub Test()
Dim I As Integer, MaDate As Date, MaDate2 As Date
Dim MaDate3 As Date, Durée As Integer, MaPlage As Range
For I = 4 To 13 ' Les lignes de Delivery à File
MaDate = Cells(I, 5) ' date arrivée
MaDate2 = Cells(I + 1, 5) + 1 ' date départ
Durée = MaDate - MaDate2
MaDate3 = WorksheetFunction.EoMonth(MaDate2, 0) ' fin du mois de la date de départ
If MaDate3 < MaDate Then ' si la fin du mois se situe entre les dates
Set MaPlage = Range(Cells(Month(MaDate2) * 4 - 11, Day(MaDate2) + 8), _
    Cells(Month(MaDate3) * 4 - 11, Day(MaDate3) + 8))
    ' la première plage s'étend de la ligne N° de mois x 4 (écart entre les mois)
    ' correctif -11 (vu qu'avril commence en ligne 3), colonne N° du jour
    ' correctif 8 (vu que le 1er du mois est en I) au même raisonnement
    ' pour le dernier jour du mois
Call Présentation(MaPlage, Cells(I, 6).Interior.Color, Cells(I, 6).Value, _
    Cells(I, 6).Font.Color) ' appel de la macro ci-dessous pour ne pas répéter à chaque
    ' les même lignes, en envoyant la couleur et le texte de la ligne qu'on traite
Set MaPlage = Range(Cells(Month(MaDate3 + 1) * 4 - 11, Day(MaDate3 + 1) + 8), _
    Cells(Month(MaDate) * 4 - 11, Day(MaDate) + 8))
    ' idem pour fin de mois + 1 (soit 1er du mois suivant) à date fin
Call Présentation(MaPlage, Cells(I, 6).Interior.Color, Cells(I, 6).Value, _
    Cells(I, 6).Font.Color)
Else ' sinon, même raisonnement, mais sans fin de mois
Set MaPlage = Range(Cells(Month(MaDate2) * 4 - 11, Day(MaDate2) + 8), _
    Cells(Month(MaDate) * 4 - 11, Day(MaDate) + 8))
Call Présentation(MaPlage, Cells(I, 6).Interior.Color, Cells(I, 6).Value, _
    Cells(I, 6).Font.Color)
End If ' fin du test
Next I ' I suivant
Set MaPlage = Cells(Month(Cells(14, 5)) * 4 - 11, Day(Cells(14, 5) + 8))
' traitement de la dernière ligne S
Call Présentation(MaPlage, Cells(14, 6).Interior.Color, Cells(14, 6).Value, _
    Cells(I, 14).Font.Color)
End Sub
Sub Présentation(Plage As Range, Couleur As Double, Texte As String, CouleurTexte As Double)
Plage.Interior.Color = Couleur ' fond en couleur
Plage.Font.Bold = True ' police en gras
Plage.Font.Color = CouleurTexte ' couleur de la police
If Plage.Count > 1 Then Plage.Merge ' si j'ai plus d'une case, je fusionne les cellules
Plage.Cells(1, 1).Value = Texte ' j'envoie le texte dans la 1ère cellule, qu'il y ai fusion ou non
End Sub
Bonne journée :cool:
 

NL46

XLDnaute Nouveau
Re : coloriage automatique cellules Retroplanning

Salut JNP,
Merci beaucoup pour ton aide, elle m'est précieuse. Je vais analyser ce que tu m'as envoyé afin de bien comprendre comment faire une macro.
Je te souhaite un excellent weekend
Ciao
Nicolas
 

Discussions similaires

Réponses
2
Affichages
249

Statistiques des forums

Discussions
312 027
Messages
2 084 763
Membres
102 657
dernier inscrit
Ferdy