Modifier une macro

Bonjour, voici la macro que j’utilise, je souhaiterais la modifier afin de ne plus voir les colonnes de BI à GZ, mais garder la colonne FN visibles malgré tout.

Merci d’avance pour votre aide !

Sub Recolte()

’ Taches1 Macro


Dim C As Range, Tbl As Variant, Arr(4), Mois, arrAn As Variant
'dim Sem as integer
arrAn = Array(« janvier », « fevrier », « mars », « avril », « mai », « juin », « juillet », « août », « septembre », « octobre », « novembre », « décembre »)
i = Application.Caller
i = CInt(ActiveSheet.Shapes(i).DrawingObject.Caption)
Mois = Application.Index(arrAn, i)
Set Mois = Application.Index([F4:BB4], Application.Match(Mois, [F4:BB4], 0))
sem = Mois.MergeArea.Count
’ Tbl = [F1:J130]
Tbl = Cells(1, Mois.Column).Resize(130, sem)
[GZ:GZ] = « »
With Range(« GZ5:GZ130 »)
.Select
Selection.AutoFilter
For Each C In [B6:B130]
For i = 1 To sem
If IsNumeric(Application.Match(UCase(Tbl(C.Row, i)), Array(« R », « / »), 0)) Then
Cells(C.Row, « GZ ») = 1
End If
Next i
Next C
.AutoFilter 1, 1
End With
Range(« H:BG,BI:FW »).EntireColumn.Hidden = True
Range(« F:BG,BI:FW,GB:GB,GG:GQ,GT:GY »).EntireColumn.Hidden = True
Mois.EntireColumn.Resize(, sem).Hidden = False
Application.Goto Mois, True
End Sub

Calendrier 2026 test tri Rec.xlsm (886,1 Ko)

Ci joint le fichier, si besoin.

Bonjour,

Essaie :

Sub Recolte()
'
' Taches1 Macro
'

'
    Dim C As Range, Tbl As Variant, Arr(4), Mois, arrAn As Variant
    'dim Sem as integer
    arrAn = Array("janvier", "fevrier", "mars", "avril", "mai", "juin", "juillet", "aožt", "septembre", "octobre", "novembre", "dŽcembre")
    i = Application.Caller
    i = CInt(ActiveSheet.Shapes(i).DrawingObject.Caption)
    Mois = Application.Index(arrAn, i)
    Set Mois = Application.Index([F4:BB4], Application.Match(Mois, [F4:BB4], 0))
    sem = Mois.MergeArea.Count
'    Tbl = [F1:J130]
    Tbl = Cells(1, Mois.Column).Resize(130, sem)
    [GZ:GZ] = ""
    With Range("GZ5:GZ130")
      .Select
      Selection.AutoFilter
      For Each C In [B6:B130]
        For i = 1 To sem
          If IsNumeric(Application.Match(UCase(Tbl(C.Row, i)), Array("R", "/"), 0)) Then
            Cells(C.Row, "GZ") = 1
          End If
        Next i
      Next C
      .AutoFilter 1, 1
    End With
    Range("H:BG,BI:FW").EntireColumn.Hidden = True
    Range("F:BG,BI:FM,FO:GZ").EntireColumn.Hidden = True
    Mois.EntireColumn.Resize(, sem).Hidden = False
    Application.Goto Mois, True
End Sub

Daniel

Bonjour, c’est presque parfait,

je souhaiterais voir la colonne FN et FO à la place de la colonne BH.

Sub Recolte()
'
' Taches1 Macro
'

'
    Dim C As Range, Tbl As Variant, Arr(4), Mois, arrAn As Variant
    'dim Sem as integer
    arrAn = Array("janvier", "fevrier", "mars", "avril", "mai", "juin", "juillet", "aožt", "septembre", "octobre", "novembre", "dŽcembre")
    i = Application.Caller
    i = CInt(ActiveSheet.Shapes(i).DrawingObject.Caption)
    Mois = Application.Index(arrAn, i)
    Set Mois = Application.Index([F4:BB4], Application.Match(Mois, [F4:BB4], 0))
    sem = Mois.MergeArea.Count
'    Tbl = [F1:J130]
    Tbl = Cells(1, Mois.Column).Resize(130, sem)
    [GZ:GZ] = ""
    With Range("GZ5:GZ130")
      .Select
      Selection.AutoFilter
      For Each C In [B6:B130]
        For i = 1 To sem
          If IsNumeric(Application.Match(UCase(Tbl(C.Row, i)), Array("R", "/"), 0)) Then
            Cells(C.Row, "GZ") = 1
          End If
        Next i
      Next C
      .AutoFilter 1, 1
    End With
    Range("H:BG,BI:FW").EntireColumn.Hidden = True
    Range("F:FM,FO:GZ").EntireColumn.Hidden = True
    Mois.EntireColumn.Resize(, sem).Hidden = False
    Application.Goto Mois, True
End Sub

Daniel

ils m’affichent ça qd je clique sur le bouton 3 vert,

et les colonnes FN et FO sont toujours masquées

Rien à voir avec ma modif. L’erreur est sur la ligne :

i = CInt(ActiveSheet.Shapes(i).DrawingObject.Caption)

Je n’ai pas trop le temps tout de suite, mais il semble que le label du bouton fasse trois caractères (dont deux espaces ?) :

Capture d'écran 2026-03-12 130217

Daniel

Qu’apelle tu le label du bouton ? Si c’est ce que j’ai écrit dessus j’ai simplement écrit “3”.

Si on agrandit le bouton, voici ce qu’on voit :

Daniel

Ah oui en effet désolé j’avais pas vu, du coup ça fonctionne nickel.

Penses tu qu’on puisse afficher les colonne FN ET FO ? avec ça ce serait parfait.

Mets :

Range("F:FM,FP:GZ").EntireColumn.Hidden = True

au lieu de :

Range("F:FM,FO:GZ").EntireColumn.Hidden = True

Daniel

Cane fonctionnait pas, mais en changeant aussi la ligne du dessus en

Range(« H:BG,BI:FM »).EntireColumn.Hidden = True

ca marche du coup…

Merci beaucoup !

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.