Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 colorer cellule planning

saimone

XLDnaute Nouveau
Bonjour,
Dans un fichier de suivi de chantier, je note tous les chantiers en cours.
Ces chantier se trouvent dans la feuille "CA".
On y retrouve la date du besoin chez le client colonne I, ainsi que le nombre de jours nécessaires pour la réalisation du chantier, colonne J.
Ce chantier peut être sous 3 status, devis, en cours et livré (double clic sur la cellule souhaitée pour faire apparaitre la valeur 1, et colorer la cellule).

Je souhaiterais récupérer les chantiers qui sont uniquement "en cours" et les lister dans la feuille "PLANNING".

Sur cette feuille, j'aimerais colorer les cellules depuis la date de besoin chez le client - le nombre de jours nécessaires, comme un rétroplanning.
Par exemple, si le client à un besoin au 20/01/2022 et que 5 jours sont nécessaires pour ce chantier, alors colorer les cellules du 15/01/2022 au 20/01/2022.

J'ai fait une MFC pour la première ligne du planning, celle ci fonctionne.
Par contre mon fichier peut comporter 100 lignes, je souhaiterais éviter de créer 100 ou plus MFC
Egalement, je n'arrive pas à trouver une solution pour afficher dans le planning, de manière propre, uniquement les chantiers qui sont sous le statut "en cours".

Pouvez vous m'aider pour cela?

D'avance merci
 

Pièces jointes

  • 22 - SUIVI GESTION simple.xlsm
    378.3 KB · Affichages: 22
Solution
re saimone, bonjour djidji59430 bonjour le forum
Une solution artisanale. (je ne maitrise pas power query pour l'expliquer correctement)
Normalement un tableau structuré ne comporte aucune ligne vide. Je vous conseille la lecture suivante

Donc j'ai repris votre tableau tel-quel pour répondre sur votre problématique. (mais j'ai choisi dans les options avancées de la feuille, de ne pas afficher les valeurs égale à 0)
la macro pour actualiser le classeur dans le module 5
VB:
Sub actualisation_devis()
Dim wb As Workbook, ws As Worksheet, ws2 As Worksheet
Dim i As Integer, lig As Integer, lig2 As Integer

Application.ScreenUpdating = False

Set wb = ThisWorkbook
    Set...

djidji59430

XLDnaute Barbatruc
Bonjour à tous,

J'ai refait le planning en utilisant données==>obtenir des données + les MFC
il de remplit a partir de CA et il suffit de de faire actualiser dans le tableau planning
 

Pièces jointes

  • 22 - SUIVI GESTION simple.xlsm
    375.2 KB · Affichages: 15

GALOUGALOU

XLDnaute Accro
re saimone, bonjour djidji59430 bonjour le forum
Une solution artisanale. (je ne maitrise pas power query pour l'expliquer correctement)
Normalement un tableau structuré ne comporte aucune ligne vide. Je vous conseille la lecture suivante

Donc j'ai repris votre tableau tel-quel pour répondre sur votre problématique. (mais j'ai choisi dans les options avancées de la feuille, de ne pas afficher les valeurs égale à 0)
la macro pour actualiser le classeur dans le module 5
VB:
Sub actualisation_devis()
Dim wb As Workbook, ws As Worksheet, ws2 As Worksheet
Dim i As Integer, lig As Integer, lig2 As Integer

Application.ScreenUpdating = False

Set wb = ThisWorkbook
    Set ws = wb.Worksheets("CA")
        Set ws2 = wb.Worksheets("PLANNING")
            ws2.Range("B5:F300").ClearContents
         
'Calcul du nombre de ligne total sur la colonne C
lig = ws.Cells(Rows.Count, 3).End(xlUp).Row
lig2 = 5

'Boucle
For i = 7 To lig
If ws.Cells(i, 14) = 1 Then
 ws2.Cells(lig2, 2) = ws.Cells(i, 3)
  ws2.Cells(lig2, 3) = ws.Cells(i, 4)
   ws2.Cells(lig2, 4) = ws.Cells(i, 5)
    ws2.Cells(lig2, 5) = ws.Cells(i, 10)
     ws2.Cells(lig2, 6) = ws.Cells(i, 9)
     lig2 = lig2 + 1
    End If
    Next i
    MsgBox "mise à jour terminée !"
End Sub
pour toutes les lignes
Code:
=$H$5:$NH$300
le code pour la mfc, (très important la position des $ qui figent lignes ou colonnes)
Code:
=ET(H$4>=$G5;H$4<=$F5)
cdt
galougalou
 

Pièces jointes

  • Copie de 22 - SUIVI GESTION simple.xlsm
    369.9 KB · Affichages: 10
Dernière édition:

GALOUGALOU

XLDnaute Accro
re saimone, bonsoir le forum
je suis content que la solution vous convienne.
Malgré tout je vous poste une évolution de votre classeur qui ne correspond pas à votre demande mais qui pourrait peut-être vous convenir.
En premier la gestion du tableau structuré dans la feuille Planning qui s'autodimensionne à la quantité d'informations récupérées (qui dit tableau structuré, dit ajustement automatique des formules et des mfc).
J'ai supposé (a tort ou a raison) que vous ne travaillez pas les week-ends et les jours fériés, éventuellement peut-être des ponts entre week-end et jours fériés. Pour gérer cela je vous ai rajouté une feuille FERIE. le planning défalquera les jours non travaillés.
Exemple : pour une mise à disposition le lundi avec deux jours de travail, le dimanche et le samedi étant non travaillé, il faudra travailler le jeudi et le vendredi.(idem pour la prise en compte des jours fériés et éventuellement des ponts). la formule pour gérer cela
VB:
=SIERREUR(SERIE.JOUR.OUVRE.INTL([@[date besoin]];-[@[nb de jours]]-1;2;Férié);"")
j'ai rajouté une macro pour proteger la feuille FERIE et la feuille PLANNING (sans mot de passe) (seule les cellules avec formules sont protégées.
Dans la feuille CA il suffit de cliquer dans une cellule de la colonne N pour écrire 1 automatiquement.
en fonction de vos besoins, adapter avec le classeur précédent.
cdt
galougalou
 

Pièces jointes

  • Copie de 22 - SUIVI GESTION simplev4.xlsm
    384 KB · Affichages: 20

Discussions similaires

Réponses
9
Affichages
838
Réponses
40
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…