N
Nanard
Guest
Bonjour à tout le forum,
Voici mon problème, je bosse actuellement sur prog de plannification des 35 heures.
J'ai écrit une macro beaucoup trop longue, qui fonctionne à merveille...
Y a t'il une solution avec une boucle, sachant que je fais référence à de multiples cellules pour que je puisse renvoyer une couleur sur une autre feuille qui prend une condition de couleur par semaine et pour 52 semaine/ligne
Un bout de mon code pour comprendre
Sub Administratif_CHL()
Dim secteurs As Range
Sheets("Administratifs").Select
Application.ScreenUpdating = False
'Semaine 1
If Sheets("Administratifs").Range("D9") = "N" Then
Sheets("Synthèse secteurs").Range("B3").Interior.ColorIndex = 8
End If
If Sheets("Administratifs").Range("D9") = "HA" Then
Sheets("Synthèse secteurs").Range("B3").Interior.ColorIndex = 36
End If
If Sheets("Administratifs").Range("D9") = "MH" Then
Sheets("Synthèse secteurs").Range("B3").Interior.ColorIndex = 27
End If
If Sheets("Administratifs").Range("D9") = "MB" Then
Sheets("Synthèse secteurs").Range("B3").Interior.ColorIndex = 10
End If
'Semaine 2
If Sheets("Administratifs").Range("D16") = "N" Then
Sheets("Synthèse secteurs").Range("C3").Interior.ColorIndex = 8
End If
If Sheets("Administratifs").Range("D16") = "HA" Then
Sheets("Synthèse secteurs").Range("C3").Interior.ColorIndex = 36
End If
If Sheets("Administratifs").Range("D16") = "MH" Then
Sheets("Synthèse secteurs").Range("C3").Interior.ColorIndex = 27
End If
If Sheets("Administratifs").Range("D16") = "MB" Then
Sheets("Synthèse secteurs").Range("C3").Interior.ColorIndex = 10
End If
'S3
If Sheets("Administratifs").Range("D30") = "N" Then
Sheets("Synthèse secteurs").Range("D3").Interior.ColorIndex = 8
End If
If Sheets("Administratifs").Range("D30") = "HA" Then
Sheets("Synthèse secteurs").Range("D3").Interior.ColorIndex = 36
End If
If Sheets("Administratifs").Range("D30") = "MH" Then
Sheets("Synthèse secteurs").Range("D3").Interior.ColorIndex = 27
End If
If Sheets("Administratifs").Range("D30") = "MB" Then
Sheets("Synthèse secteurs").Range("D3").Interior.ColorIndex = 10
End If
'S4
If Sheets("Administratifs").Range("H7") = "N" Then
Sheets("Synthèse secteurs").Range("E3").Interior.ColorIndex = 8
End If
If Sheets("Administratifs").Range("H7") = "HA" Then
Sheets("Synthèse secteurs").Range("E3").Interior.ColorIndex = 36
End If
If Sheets("Administratifs").Range("H7") = "MH" Then
Sheets("Synthèse secteurs").Range("E3").Interior.ColorIndex = 27
End If
If Sheets("Administratifs").Range("H7") = "MB" Then
Sheets("Synthèse secteurs").Range("E3").Interior.ColorIndex = 10
End If
'S5
If Sheets("Administratifs").Range("H13") = "N" Then
Sheets("Synthèse secteurs").Range("F3").Interior.ColorIndex = 8
End If
If Sheets("Administratifs").Range("H13") = "HA" Then
Sheets("Synthèse secteurs").Range("F3").Interior.ColorIndex = 36
End If
If Sheets("Administratifs").Range("H13") = "MH" Then
Sheets("Synthèse secteurs").Range("F3").Interior.ColorIndex = 27
End If
If Sheets("Administratifs").Range("H13") = "MB" Then
Sheets("Synthèse secteurs").Range("F3").Interior.ColorIndex = 10
End If
'S6
If Sheets("Administratifs").Range("H20") = "N" Then
Sheets("Synthèse secteurs").Range("G3").Interior.ColorIndex = 8
End If
If Sheets("Administratifs").Range("H20") = "HA" Then
Sheets("Synthèse secteurs").Range("G3").Interior.ColorIndex = 36
End If
If Sheets("Administratifs").Range("H20") = "MH" Then
Sheets("Synthèse secteurs").Range("G3").Interior.ColorIndex = 27
End If
If Sheets("Administratifs").Range("H20") = "MB" Then
Sheets("Synthèse secteurs").Range("G3").Interior.ColorIndex = 10
End If
'S7
If Sheets("Administratifs").Range("H27") = "N" Then
Sheets("Synthèse secteurs").Range("H3").Interior.ColorIndex = 8
End If
If Sheets("Administratifs").Range("H27") = "HA" Then
Sheets("Synthèse secteurs").Range("H3").Interior.ColorIndex = 36
End If
If Sheets("Administratifs").Range("H27") = "MH" Then
Sheets("Synthèse secteurs").Range("H3").Interior.ColorIndex = 27
End If
If Sheets("Administratifs").Range("H27") = "MB" Then
Sheets("Synthèse secteurs").Range("H3").Interior.ColorIndex = 10
End If
....etc jusqu'à 52 semaines avec 4 conditions / semaine
Il y à 25 secteurs ce qui veut dire qu'il faut que je fasse 25 fois cette macro avec :
range ("H4").Interior.ColorIndex = 10 'pour un autre secteur (ligne)
avec les "N", "HA", "MH","MB" je fais référence au niveau d'activité
Ne faudait il pas construire une boucle ? mais comment ! je sèche lamentablement, merci à celui ou celle qui voudra bien m'aider
j'espère avoir été assez clair !!
@
Nanard
Voici mon problème, je bosse actuellement sur prog de plannification des 35 heures.
J'ai écrit une macro beaucoup trop longue, qui fonctionne à merveille...
Y a t'il une solution avec une boucle, sachant que je fais référence à de multiples cellules pour que je puisse renvoyer une couleur sur une autre feuille qui prend une condition de couleur par semaine et pour 52 semaine/ligne
Un bout de mon code pour comprendre
Sub Administratif_CHL()
Dim secteurs As Range
Sheets("Administratifs").Select
Application.ScreenUpdating = False
'Semaine 1
If Sheets("Administratifs").Range("D9") = "N" Then
Sheets("Synthèse secteurs").Range("B3").Interior.ColorIndex = 8
End If
If Sheets("Administratifs").Range("D9") = "HA" Then
Sheets("Synthèse secteurs").Range("B3").Interior.ColorIndex = 36
End If
If Sheets("Administratifs").Range("D9") = "MH" Then
Sheets("Synthèse secteurs").Range("B3").Interior.ColorIndex = 27
End If
If Sheets("Administratifs").Range("D9") = "MB" Then
Sheets("Synthèse secteurs").Range("B3").Interior.ColorIndex = 10
End If
'Semaine 2
If Sheets("Administratifs").Range("D16") = "N" Then
Sheets("Synthèse secteurs").Range("C3").Interior.ColorIndex = 8
End If
If Sheets("Administratifs").Range("D16") = "HA" Then
Sheets("Synthèse secteurs").Range("C3").Interior.ColorIndex = 36
End If
If Sheets("Administratifs").Range("D16") = "MH" Then
Sheets("Synthèse secteurs").Range("C3").Interior.ColorIndex = 27
End If
If Sheets("Administratifs").Range("D16") = "MB" Then
Sheets("Synthèse secteurs").Range("C3").Interior.ColorIndex = 10
End If
'S3
If Sheets("Administratifs").Range("D30") = "N" Then
Sheets("Synthèse secteurs").Range("D3").Interior.ColorIndex = 8
End If
If Sheets("Administratifs").Range("D30") = "HA" Then
Sheets("Synthèse secteurs").Range("D3").Interior.ColorIndex = 36
End If
If Sheets("Administratifs").Range("D30") = "MH" Then
Sheets("Synthèse secteurs").Range("D3").Interior.ColorIndex = 27
End If
If Sheets("Administratifs").Range("D30") = "MB" Then
Sheets("Synthèse secteurs").Range("D3").Interior.ColorIndex = 10
End If
'S4
If Sheets("Administratifs").Range("H7") = "N" Then
Sheets("Synthèse secteurs").Range("E3").Interior.ColorIndex = 8
End If
If Sheets("Administratifs").Range("H7") = "HA" Then
Sheets("Synthèse secteurs").Range("E3").Interior.ColorIndex = 36
End If
If Sheets("Administratifs").Range("H7") = "MH" Then
Sheets("Synthèse secteurs").Range("E3").Interior.ColorIndex = 27
End If
If Sheets("Administratifs").Range("H7") = "MB" Then
Sheets("Synthèse secteurs").Range("E3").Interior.ColorIndex = 10
End If
'S5
If Sheets("Administratifs").Range("H13") = "N" Then
Sheets("Synthèse secteurs").Range("F3").Interior.ColorIndex = 8
End If
If Sheets("Administratifs").Range("H13") = "HA" Then
Sheets("Synthèse secteurs").Range("F3").Interior.ColorIndex = 36
End If
If Sheets("Administratifs").Range("H13") = "MH" Then
Sheets("Synthèse secteurs").Range("F3").Interior.ColorIndex = 27
End If
If Sheets("Administratifs").Range("H13") = "MB" Then
Sheets("Synthèse secteurs").Range("F3").Interior.ColorIndex = 10
End If
'S6
If Sheets("Administratifs").Range("H20") = "N" Then
Sheets("Synthèse secteurs").Range("G3").Interior.ColorIndex = 8
End If
If Sheets("Administratifs").Range("H20") = "HA" Then
Sheets("Synthèse secteurs").Range("G3").Interior.ColorIndex = 36
End If
If Sheets("Administratifs").Range("H20") = "MH" Then
Sheets("Synthèse secteurs").Range("G3").Interior.ColorIndex = 27
End If
If Sheets("Administratifs").Range("H20") = "MB" Then
Sheets("Synthèse secteurs").Range("G3").Interior.ColorIndex = 10
End If
'S7
If Sheets("Administratifs").Range("H27") = "N" Then
Sheets("Synthèse secteurs").Range("H3").Interior.ColorIndex = 8
End If
If Sheets("Administratifs").Range("H27") = "HA" Then
Sheets("Synthèse secteurs").Range("H3").Interior.ColorIndex = 36
End If
If Sheets("Administratifs").Range("H27") = "MH" Then
Sheets("Synthèse secteurs").Range("H3").Interior.ColorIndex = 27
End If
If Sheets("Administratifs").Range("H27") = "MB" Then
Sheets("Synthèse secteurs").Range("H3").Interior.ColorIndex = 10
End If
....etc jusqu'à 52 semaines avec 4 conditions / semaine
Il y à 25 secteurs ce qui veut dire qu'il faut que je fasse 25 fois cette macro avec :
range ("H4").Interior.ColorIndex = 10 'pour un autre secteur (ligne)
avec les "N", "HA", "MH","MB" je fais référence au niveau d'activité
Ne faudait il pas construire une boucle ? mais comment ! je sèche lamentablement, merci à celui ou celle qui voudra bien m'aider
j'espère avoir été assez clair !!
@
Nanard