Planning "dynamique" excel

Bonjour,

Je souhaiterais dans excel visualiser un planning des audits que j'ai à réaliser. Cela peut être des audits interne externe et produits, process etc..

Dans un premier "onglet" j'ai un tableau type:

Interne- produits - Date1- date2- date3...
Externe- process - Date1
Interne- process - Date4-Date 5...

Je souhaiterais à partir de ce tableau générer un planning avec des codes couleurs par type d'audit sachant qu'il peut y avoir des audits différents un même jour.

J'ai déjà trouvé un planning qui se met à jour automatiquement via des MFC, le problème est que je suis limitée à 3 conditions.

merci pour votre aide
Configuration: Windows XP Internet Explorer 6.0

3 réponses

  1. Bonjour,

    j'ai cherché sur le net pour le problème ci-dessus, j'ai trouvé un début de solution:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    For i = 7 To 37
    For j = 7 To 37
    'condition 1 : mettre en rouge si c'est écrit produit et si c'est la même date
    If Range("C" & i) = Range("AL" & j) And Range("AM" & j) = "Produit" Then
    Range("C" & i).Interior.ColorIndex = 3
    End If
    Next j
    Next i
    End Sub

    ça marche bien sur la colonne C mais je voudrais incrémenté sur les colonnes suivantes comme je le fais pour les lignes (avec i)

    est-ce que c'est possible?
    1. re bonjour,

      même si personne ne me réponds je continue à persister à poser des questions

      J'ai une macro qui est la suivante qui permet de faire ce que j'ai dit avant: Le problème c'est que si j'ai 2 couleurs pour UNE case il prend la première couleur et je n'arrive pas à faire en sorte qu'il m'indique au moins qu'il y a deux couleurs pour une même case..est-ce que quelqu'un a une idée????

      Sub yououoh()
      'Permet de supprimer les autres conditions avant
      Range("A3:o33").Select
      Range("o33").Activate
      Selection.Interior.ColorIndex = xlNone
      Selection.Font.Italic = False
      Selection.Font.Bold = False
      Range("p3").Select

      For i = 3 To 33
      For j = 39 To 150
      For k = 1 To 15
      'condition 1 : si c'est interne on met en italique
      If Cells(i, k) = Cells(j, 1) And Cells(j, 2) = "Interne" Then
      Cells(i, k).Font.Italic = True
      'condition 2 : si c'est externe on met en gras
      ElseIf Cells(i, k) = Cells(j, 1) And Cells(j, 2) = "Externe" Then
      Cells(i, k).Font.Bold = True

      End If

      ' si c'est auditeur 1 il met en rouge
      If Cells(i, k) = Cells(j, 1) And Cells(j, 6) = "1" Then
      Cells(i, k).Interior.ColorIndex = 3

      ' si c'est auditeur 2 il met en rose
      ElseIf Cells(i, k) = Cells(j, 1) And Cells(j, 6) = "2" Then
      Cells(i, k).Interior.ColorIndex = 7

      ' si c'est auditeur 3 il met en rose saumon
      ElseIf Cells(i, k) = Cells(j, 1) And Cells(j, 6) = "3" Then
      Cells(i, k).Interior.ColorIndex = 38

      ' si c'est auditeur 4 il met en orange
      ElseIf Cells(i, k) = Cells(j, 1) And Cells(j, 6) = "4" Then
      Cells(i, k).Interior.ColorIndex = 46

      ' si c'est auditeur 5 il met en or
      ElseIf Cells(i, k) = Cells(j, 1) And Cells(j, 6) = "5" Then
      Cells(i, k).Interior.ColorIndex = 44

      End If

      'si c'est un audit type A alors il met un motif "grille" sur la case
      If Cells(i, k) = Cells(j, 1) And Cells(j, 4) = "A" Then
      Cells(i, k).Interior.Pattern = xlGrid

      'si c'est un audit type C alors il met un motif "point" sur la case
      ElseIf Cells(i, k) = Cells(j, 1) And Cells(j, 4) = "C" Then
      Cells(i, k).Interior.Pattern = xlGray8

      'si c'est un audit type D alors il met un motif "point blanc" sur la case
      ElseIf Cells(i, k) = Cells(j, 1) And Cells(j, 4) = "D" Then
      Cells(i, k).Interior.Pattern = xlGray16
      Cells(i, k).Interior.PatternColorIndex = 2

      'si c'est un audit type E alors il met un motif "trait penché" sur la case
      ElseIf Cells(i, k) = Cells(j, 1) And Cells(j, 4) = "E" Then
      Cells(i, k).Interior.Pattern = xlLightDown
      Cells(i, k).Interior.PatternColorIndex = 2

      End If

      Next k
      Next j
      Next i

      End Sub

      merci d'avance si quelqu'un a une idée...ou un début de solution..