Mettre un bouton qui active ou désactive un "Sub" dans le VBA

Bonsoir,

Serait-il possible, sur la feuille "Paramètres" de désactiver ou activer le "Sub M_PreBarrage" du module1 ci-dessous à l'aide d'un bouton ==>

image

Le code VBA ==>

Sub M_PreBarrage(Sh As Worksheet)
     Dim c, Arr, TBL, bPM, bImPair, i, j, j1, iWeekday, r
     If Not Sh.Name Like "*## *##" Then Exit Sub     'nom de la feuille ressemble à cela

     TBL = Range("t_Semaine").Value2         'TS avec les propriétés des tâches
     With Sh
          .Unprotect
          Set c = .Range("C2:AF41")          'votre plage
          Arr = c.Value2                     'lire vers matrice
          For i = 3 To UBound(Arr) Step 4    'les lignes avec les tâches
               For j = 1 To UBound(Arr, 2)   'boucler horizontal
                    If Len(Arr(i, j)) > 0 Then     'tâche connu
                         j1 = Int((j - 1) / 3) * 3 + 1     'colonne avec sa date
                         bPM = (j1 Mod 6 = 4)     'c'est l'après-midi
                         Jour = Arr(i - 1, j1)     'quel jour ?
                         iWeekday = WorksheetFunction.Weekday(Jour, 2)     'n° weekday
                         bImPair = (WorksheetFunction.IsoWeekNum(Jour) Mod 2 = 1)     'semaine impaire ?
                         r = -30 * bImPair + (iWeekday - 1) * 6 - 3 * bPM + 1 + (j - j1)     'ligne dans t_semaine
                         'Debug.Print i, j, r, Tbl(r, 3), Arr(i, j)
                         If TBL(r, 3) = Arr(i, j) Then     'normallement ces 2 sont égal
                              If TBL(r, 6) = 1 Then c.Cells(i, j).Borders(xlDiagonalDown).LineStyle = xlDot     'si on demande "pré-barrage", alors on le fait
                         Else
                              MsgBox "impossible"
                         End If
                    End If
               Next
          Next
     End With
End Sub

________________________________________________________

D'autre part, je souhaiterai que le barrage des cellules ne soient plus du type d'une seule diagonale vers la droit, en pointillé mais plutôt un barrage en croix en gras...

image

Merci beaucoup

Bonne soirée

Bonjour Bart' et merci beaucoup

J'ai plusieurs erreurs sur cette version de classeur ==> à l'ouverture de la fenêtre de la feuille "Absences", le classeur ce bloque et les feuilles se figent.

En réalité Bart', voilà 2 jours, j'avais fait plusieurs changements dans le VBA et sur les formatages des feuilles dans une version de classeur pour ne plus avoir d'erreurs ==>

image image

__________________________

Pour le bouton "activer/désactiver", j'aurais préféré la possibilité de faire effectivement des barrages des cellules (d'ailleurs c'est parfait pour le formatage) mais aussi en cliquant sur un bouton, de toutes les désactiver à d'autres moments

image

__________________________________________________

En gros, on clique sur le bouton "Activer/Désactiver", ça met toutes les croix et son on clique à nouveau, ça enlève toutes les croix. C'est nécessaire par rapport à une programmation de début de semaine et une autre en fin de semaine

En tout cas merci beaucoup pour ta précieuse intervention

Bonne journée, à bientôt

J'en ai assez depuis un moment et j'arrête.

Mille mercis Bart' pour tout ce que tu as fait pour moi depuis l'été dernier

Je continue à te suivre sur plein d'autres sujets car tu trouves des réponses auxquelles beaucoup ont du mal

Bonne continuation

Rechercher des sujets similaires à "mettre bouton qui active desactive sub vba"