Rendre visible ou invisible boutons Classeur

un internaute

XLDnaute Impliqué
Bonjour le forum,
Je suis nouveau et pas VBA comme vous allez vous en apercevoir rapidement suite aux questions un peu "farfelues"!
J'ai fait une macro pour supprimer des boutons dans tout le classeur mais après réflexion il serait plus judicieux de les rendre visibles ou invisibles.
Voici ci-dessous la macro pour les supprimer.
Quelqu'un aurait-il une "solution" pour faire la ou les macros?
Merci d'avance pour vos réponses
Cordialement à vous tous

Code:
Sub supprime_C_Shapes()
 Dim nombre As Integer
 Dim Ws As Worksheet
 nombre = ActiveWorkbook.Sheets.Count
 Application.ScreenUpdating = False
 For I = 1 To nombre
 Worksheets(I).Unprotect Password:="blabla"
 Next I
   Application.ScreenUpdating = False
  AfficherOnglets
   
 Dim Forme As Object
  For Each Ws In Sheets
    For Each Forme In Ws.Shapes
      With Forme
        Select Case .Type
          Case 8
            'ici permet de ne pas supprimer
            'les boutons de la BO Formulaire
          Case Else
            'supprime le reste
            .Delete
        End Select
      End With
    Next Forme
  Next Ws
 End Sub
 

camarchepas

XLDnaute Barbatruc
Re : Rendre visible ou invisible boutons Classeur

Bonjour ,

voici , la macro qui cache les boutons, en prime une macro pour montrer les boutons



Code:
Sub Cache_C_Shapes()
  Dim nombre As Integer
  Dim Ws As Worksheet
  nombre = ActiveWorkbook.Sheets.Count
  Application.ScreenUpdating = False
  For I = 1 To nombre
  Worksheets(I).Unprotect Password:="blabla"
  Next I
    Application.ScreenUpdating = False
   AfficherOnglets
    
  Dim Forme As Object
   For Each Ws In Sheets
     For Each Forme In Ws.Shapes
       With Forme
         Select Case .Type
           Case 8
             'ici permet de ne pas masquer
             'les boutons de la BO Formulaire
           Case Else
             'Masque le reste
             .Visible = False
         End Select
       End With
     Next Forme
   Next Ws
  End Sub

Sub Montre_C_Shapes()
  Dim nombre As Integer
  Dim Ws As Worksheet
  nombre = ActiveWorkbook.Sheets.Count
  Application.ScreenUpdating = False
  For I = 1 To nombre
  Worksheets(I).Unprotect Password:="blabla"
  Next I
    Application.ScreenUpdating = False
   AfficherOnglets
    
  Dim Forme As Object
   For Each Ws In Sheets
     For Each Forme In Ws.Shapes
       With Forme
         Select Case .Type
           Case 8
             'ici permet de ne pas masquer
             'les boutons de la BO Formulaire
           Case Else
             'Affiche le reste
             .Visible = True
         End Select
       End With
     Next Forme
   Next Ws
  End Sub
 

Discussions similaires

Réponses
5
Affichages
328