Boucle sur code VBA
Bonjour à tous,
J'espère que vous pourrez m'aider, mon problème est, je pense, pas très compliqué, mais pour une novice comme moi c'est un vrai casse-tête.
J'ai un code qui me permet de reporter les couleurs renseignées dans différents onglets sur un même et unique onglet qui sert de récapitulatif.
Ca fonctionne, sauf que vu les répétitions, le code ralenti énormément mon fichier, pourriez vous m'aider ?
Je vous mets si dessous le code en question :
Sub Worksheet_Activate()
Application.ScreenUpdating = False
For Each cell In Range("D5:W200")
cell.Interior.Color = Sheets("DEC-19").Cells(cell.Row, cell.Column).Interior.Color
Next
For Each cell In Range("X5:AV200")
cell.Interior.Color = Sheets("JANV-20").Cells(cell.Row, cell.Column - 20).Interior.Color
Next
For Each cell In Range("AW5:BP200")
cell.Interior.Color = Sheets("FEV-20").Cells(cell.Row, cell.Column - 45).Interior.Color
Next
For Each cell In Range("BQ5:CJ200")
cell.Interior.Color = Sheets("MAR-20").Cells(cell.Row, cell.Column - 65).Interior.Color
Next
For Each cell In Range("CK5:DI200")
cell.Interior.Color = Sheets("AVR-20").Cells(cell.Row, cell.Column - 85).Interior.Color
Next
For Each cell In Range("DJ5:EC200")
cell.Interior.Color = Sheets("MAI-20").Cells(cell.Row, cell.Column - 110).Interior.Color
Next
Application.ScreenUpdating = True
End SubCe code n'est pas complètement finalisé, puisqu'il est censé contenir toute une année (1 onglet par mois) mais vu la lenteur à ce stade là, je me doute que ça n'ira pas en s'arrangeant.
Dans l'attente de vos idées
Bonne journée à tous !!
Salut Mad-AC,
mieux ainsi, je pense, sans avoir pu tester...
Un fichier, des explications plus précises quant aux circonstances d'exécution, le nombre d'onglets (13, I presume?), les règles de calcul de OFFSET nous aideraient de manière substantielle, ne crois-tu pas ?
Sub Worksheet_Activate()
'
Application.ScreenUpdating = False
'
Range("D5:W200").Interior.Color = Sheets("DEC-19").Range("D5:W200").Interior.Color
Range("X5:AV200").Interior.Color = Sheets("JANV-20").Range("X5:AV200").Offset(0, -20).Interior.Color
Range("AW5:BP200").Interior.Color = Sheets("FEV-20").Range("AW5:BP200").Offset(0, -45).Interior.Color
Range("BQ5:CJ200").Interior.Color = Sheets("MAR-20").Range("BQ5:CJ200").Offset(0, -65).Interior.Color
Range("CK5:DI200").Interior.Color = Sheets("AVR-20").Range("CK5:DI200").Offset(0, -85).Interior.Color
Range("DJ5:EC200").Interior.Color = Sheets("MAI-20").Range("DJ5:EC200").Offset(0, -110).Interior.Color
'
Application.ScreenUpdating = True
'
End SubA+
Bonjour,
Merci pour votre retour, je vous met un fichier pour exemple. Ce fichier n'est pas le fichier complet, ceci est juste pour illustrer l'idée.
En gros, je souhaite que lorsque je met une couleur dans un onglet de mois, la couleur apparaisse dans l'onglet recap.
Cordialement