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

https://www.cjoint.com/c/EJDlmUk7uKG

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

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

Bonjour

Je suis toujours dubitatif quand à la destination des données

prime novembre

Tu devrais fournir un fichier avec la page "Prime Novembre" remplie et les pages "Index" et "Novembre"

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.

Rechercher des sujets similaires à "simplification code"