Simplification de code
Bonjour à vous, je cherche à simplifier ce code qui mets plus de 6 minutes à se réaliser. Merci d'avance
Sub Novembre_Rectangleàcoinsarrondis3_Cliquer()
Application.ScreenUpdating = False
Sheets("INDEX").Select
Columns("H:M").Select
Selection.Copy
Sheets("Prime Novembre").Select
Columns("A:A").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'NOELLOU 1
Sheets("Novembre").Select
Range("AQ5:BT5").Select
Selection.Copy
Sheets("Prime Novembre").Select
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C2:C41")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'LAFONT 2
Sheets("Novembre").Select
Range("AQ6:BT6").Select
Selection.Copy
Sheets("Prime Novembre").Select
Range("C42").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C42"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C42:C81")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'DOUAY 3
Sheets("Novembre").Select
Range("AQ7:BT7").Select
Selection.Copy
Sheets("Prime Novembre").Select
ActiveWindow.SmallScroll Down:=26
Range("C82").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C82"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C82:C121")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'IRISSOU 4
Sheets("Novembre").Select
Range("AQ8:BT8").Select
Selection.Copy
Sheets("Prime Novembre").Select
ActiveWindow.SmallScroll Down:=18
Range("C122").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C122"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C122:C161")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'DRIE 5
Sheets("Novembre").Select
Range("AQ9:BT9").Select
Selection.Copy
Sheets("Prime Novembre").Select
ActiveWindow.SmallScroll Down:=20
Range("C162").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C162"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C162:C201")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'GUILLEMET 6
Sheets("Novembre").Select
Range("AQ10:BT10").Select
Selection.Copy
Sheets("Prime Novembre").Select
Range("C202").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C202"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C202:C241")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'SALA 7
Sheets("Novembre").Select
Range("AQ11:BT11").Select
Selection.Copy
Sheets("Prime Novembre").Select
Range("C242").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C242"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C242:C281")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'LHUILLERY 8
Sheets("Novembre").Select
Range("AQ12:BT12").Select
Selection.Copy
Sheets("Prime Novembre").Select
ActiveWindow.SmallScroll Down:=26
Range("C282").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C282"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C282:C321")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'CARNEVILLIER 9
Sheets("Novembre").Select
Range("AQ13:BT13").Select
Selection.Copy
Sheets("Prime Novembre").Select
ActiveWindow.SmallScroll Down:=18
Range("C322").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C322"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C322:C361")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'MADI 10
Sheets("Novembre").Select
Range("AQ14:BT14").Select
Selection.Copy
Sheets("Prime Novembre").Select
ActiveWindow.SmallScroll Down:=20
Range("C362").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C362"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C362:C401")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'ARAUX 11
Sheets("Novembre").Select
Range("AQ15:BT15").Select
Selection.Copy
Sheets("Prime Novembre").Select
ActiveWindow.SmallScroll Down:=20
Range("C402").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C402"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C402:C441")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'CHARGUI 12
Sheets("Novembre").Select
Range("AQ16:BT16").Select
Selection.Copy
Sheets("Prime Novembre").Select
ActiveWindow.SmallScroll Down:=20
Range("C442").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C442"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C442:C481")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'TASSIN 13
Sheets("Novembre").Select
Range("AQ17:BT17").Select
Selection.Copy
Sheets("Prime Novembre").Select
ActiveWindow.SmallScroll Down:=20
Range("C482").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C482"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C482:C521")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'TOPA 14
Sheets("Novembre").Select
Range("AQ18:BT18").Select
Selection.Copy
Sheets("Prime Novembre").Select
ActiveWindow.SmallScroll Down:=20
Range("C522").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C522"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C522:C561")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'MOLIA 15
Sheets("Novembre").Select
Range("AQ19:BT19").Select
Selection.Copy
Sheets("Prime Novembre").Select
ActiveWindow.SmallScroll Down:=20
Range("C562").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C562"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C562:C601")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'PERDEREAU 16
Sheets("Novembre").Select
Range("AQ20:BT20").Select
Selection.Copy
Sheets("Prime Novembre").Select
ActiveWindow.SmallScroll Down:=20
Range("C602").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C602"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C602:C641")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'VINCENT 17
Sheets("Novembre").Select
Range("AQ21:BT21").Select
Selection.Copy
Sheets("Prime Novembre").Select
ActiveWindow.SmallScroll Down:=20
Range("C642").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C642"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C642:C681")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'LE BERDER 18
Sheets("Novembre").Select
Range("AQ22:BT22").Select
Selection.Copy
Sheets("Prime Novembre").Select
ActiveWindow.SmallScroll Down:=20
Range("C682").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C682"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C682:C721")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'DELOR 19
Sheets("Novembre").Select
Range("AQ23:BT23").Select
Selection.Copy
Sheets("Prime Novembre").Select
ActiveWindow.SmallScroll Down:=20
Range("C722").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C722"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C722:C761")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'SMAGGHE 20
Sheets("Novembre").Select
Range("AQ24:BT24").Select
Selection.Copy
Sheets("Prime Novembre").Select
ActiveWindow.SmallScroll Down:=20
Range("C762").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Prime Novembre").Sort.SortFields.Add Key:=Range( _
"C762"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Prime Novembre").Sort
.SetRange Range("C762:C801")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ThisWorkbook.Worksheets("Prime Novembre").Activate
j = 1
For i = 1 To Range("C2000").End(xlUp).Row 'calcule la dernière cellule remplie dans la colonne 3 colonne C
If Cells(j, 3).Value = FAUX Then
Cells(j, 3).EntireRow.Delete
Else
j = j + 1
End If
Next i
Range("c1:c800").Select
For Each cell In Selection
If cell.Value = "1" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "7" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "8" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "14" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "15" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "21" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "22" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "28" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "29" Then
cell.Interior.ColorIndex = 16
End If
Next
Range("e1:e800").Select
For Each cell In Selection
If cell.Value = "1" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "2" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "8" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "9" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "15" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "16" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "22" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "23" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "29" Then
cell.Interior.ColorIndex = 16
End If
If cell.Value = "30" Then
cell.Interior.ColorIndex = 16
End If
Next
Range("C:C,E:E").Select
Selection.NumberFormat = "dd"
Application.Goto Range("A1"), True
End Sub
bonjour
faire la maintenance (faire évoluer) d'un code suppose que celui-ci soit commenté, et si possible documenté)
c'est d'autant plus crucial que le code est long
sinon on risque le pire
je viens d'ajouter le fichier mais il ne s'affiche pas
le fichier est trop gros
Bonjour
J'ai fait un essai, mais sans fichier pas évident de savoir si cela fonctionne
Sub Novembre_Rectangleàcoinsarrondis3_Cliquer()
Dim Ligne As Long, LgRecopie As Long, Cell As Range
Application.ScreenUpdating = False
With Sheets("Prime Novembre")
Sheets("INDEX").Columns("H:M").Copy .Columns("A:A")
LgRecopie = 2
For Ligne = 5 To 24
Sheets("Novembre").Range("AQ" & Ligne & ":BT" & Ligne).Copy
.Range("C" & LgRecopie).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
.Range("C" & LgRecopie).Resize(40).Sort key1:=.Range("C" & LgRecopie), order1:=xlAscending, dataoption1:=xlSortNormal, Header:=xlGuess
LgRecopie = legrecopie + 40
Next Ligne
For Ligne = .Range("C2000").End(xlUp).Row To 1 Step -1 'calcule la dernière cellule remplie dans la colonne 3 colonne C
If Cells(Ligne, "C").Value = FAUX Then
.Rows(Ligne).Delete
End If
Next Ligne
For Each Cell In .Range("c1:c800")
Select Case Cell.Value
Case "1", "7", "8", "14", "15", "21", "22", "28", "29": Cell.Interior.ColorIndex = 16
End Select
Next Cell
For Each Cell In .Range("E1:E800")
Select Case Cell.Value
Case "1", "2", "8", "9", "15", "16", "22", "23", "29", "30": Cell.Interior.ColorIndex = 16
End Select
Next Cell
.Range("C:C,E:E").NumberFormat = "dd"
Application.Goto .Range("A1"), True
End With
End Sub
essayes avec cjoint
Voici mon fichier
Bonjour
Tu peux préciser un peu plus
Dans ton code tu copies de la page "Novembre" AQ5:BT5, cela ne serait pas AU5:BX5 ?
Ensuite tu copie dans la page "Prime Novembre" en C2 ?????????????
Je suis perplexe
oui tu as raison banzai , j'ai inseré des colonne se qui à décaler le tableau
je recuperer les valeur G de chaque ligne ce qui me donne les permanences montées de chaques personnes et je les transposes en C2,
c'est la seul idées qui m'est venue pour retranscrire mon planning en liste de permanence montée
Bonjour
Je comprends pas pourquoi tu copies en C2 dans la page "Prime Novembre", dedans il y a un numéro de jour
Non il n'y en a pas, ce sont les valeurs de AU5:BX5 qui se transposent dans la colonne C
si tu regardes la macro tu verras qu' a la fin j' ai demandé que les colonnes C et D soitent en format "dd" et sur ma feuille "Prime Novembre" je demande à ce que la valeur de E soit égal à C + 1. J'ai fais cela pour que si C=31 E=01.
voilà ce que je demande dans ma macro :
1. Copier la mise en forme de INDEX sur ma feuille Prime Novembre
2. Récupérer les valeurs comprisent entre AU et BX de chaques lignes de mon tableau novembre et les transposer en colonne C de ma feuille Prime Novembre
3. Supprimer les doublons
4. Colorier les cases dont les valeurs sont ...
5. Mettre les colonnes C et E au format "dd".
Merci Banzai64 pour ton travail,impressionnant, ce qui prenait 6 minutes avant ne prend plus que 5 Secondes. Pourrais tu m'expliquer un peu le code parce que là je nage complet lol
Bonsoir
Très simple
Une boucle de 5 à 24 qui copie les valeurs de AU à BX en les les transposant dans la colonne C par pas de 40
On tri chaque bloc de 40 données (attention Header:=xlNo)
Suppression des lignes avec FAUX et les lignes vides par un filtre (c'est plus rapide que de faire ligne par ligne)
Coloriage des dates voulues
C'est fini
Pour info : Je pense (à 90%) que l'on pourrait utiliser la même macro (en l'adaptant bien sur) pour toutes les pages
Je viens de retranscrire ton code sur les différents mois. Un grand merci à toi pour ton aide et ta patience.