me revoila ,
j'ai un code que j'aimerai voir plus court, si quelqu'un pouvait me dire comment sur une meme ligne mettre pour cette action, toutes les feuilles plutot que de faire le code pour chaque feuille du meme classeur. j'ai essaye plein de choses au ptit bonheur la chance mais rien de bon.
en voila une parti normalement, il va jusqu'a la feuil7 comprise sachant qu'il y a un bouton different pour les feuilles suivante, le bouton ("button 1")
im Cel As Range
  With Feuil3.Shapes("Button 12").TextFrame.Characters ' Le texte inscrit dans le bouton
 
    
   If .Text = "Masque" Then ' Si il s'appelle "Masque"
      .Text = "Démasque" ' On le renomme
      Range("19:41,45:71,75:92,96:128").EntireRow.Hidden = True  ' On fait le masquage
    Else
      .Text = "Masque"  ' Sinon on le renomme en "Masque"
      For Each Cel In Range("B19:B128") ' On parcourt toute la colonne B de la ligne 19 à la ligne 128
        If Trim(Cel) <> "" Then Rows(Cel.Row).Hidden = False ' Si la cellule est vide (ou seulement des espaces) on masque la ligne
      Next Cel  ' On passe à la suivante
    End If
                
       End With
                
                
With Feuil4.Shapes("Button 12").TextFrame.Characters
            If .Text = "Masque" Then ' Si il s'appelle "Masque"
      .Text = "Démasque" ' On le renomme
      Range("19:41,45:71,75:92,96:128").EntireRow.Hidden = True  ' On fait le masquage
    Else
      .Text = "Masque"  ' Sinon on le renomme en "Masque"
      For Each Cel In Range("B19:B128") ' On parcourt toute la colonne B de la ligne 19 à la ligne 128
        If Trim(Cel) <> "" Then Rows(Cel.Row).Hidden = False ' Si la cellule est vide (ou seulement des espaces) on masque la ligne
      Next Cel  ' On passe à la suivante
      End If
          
        End With
            
encore merci pour tout