XL 2019 Mise en forme cadre zone de texte

Danyk01

XLDnaute Occasionnel
Bonjour
j'aimerais savoir s'il était possible de cacher les cadres de plusieurs zones de texte par le biais d'une macro?
Merci pour vos réponses
Dany
 

Pièces jointes

  • Classeur1.xlsx
    12 KB · Affichages: 5

laurent950

XLDnaute Barbatruc
Bonjour @Danyk01

Cacher le cadre de la zone de texte :
VB:
Sub CacherCadresZonesDeTexte()
    Dim shp As Shape
 
    ' Parcourir toutes les formes sur la feuille active
    For Each shp In ActiveSheet.Shapes
        ' Vérifier si la forme est une zone de texte
        If shp.Type = msoTextBox Then
            ' Cacher le cadre de la zone de texte
            shp.Line.Visible = msoFalse
        End If
    Next shp
End Sub

Afficher le cadre de la zone de texte
Code:
Sub AfficherCadresZonesDeTexte()
    Dim shp As Shape
   
    ' Parcourir toutes les formes sur la feuille active
    For Each shp In ActiveSheet.Shapes
        ' Vérifier si la forme est une zone de texte
        If shp.Type = msoTextBox Then
            ' Afficher le cadre de la zone de texte
            shp.Line.Visible = msoTrue
        End If
    Next shp
End Sub
 

Danyk01

XLDnaute Occasionnel
Bonjour @Danyk01

Cacher le cadre de la zone de texte :
VB:
Sub CacherCadresZonesDeTexte()
    Dim shp As Shape
 
    ' Parcourir toutes les formes sur la feuille active
    For Each shp In ActiveSheet.Shapes
        ' Vérifier si la forme est une zone de texte
        If shp.Type = msoTextBox Then
            ' Cacher le cadre de la zone de texte
            shp.Line.Visible = msoFalse
        End If
    Next shp
End Sub

Afficher le cadre de la zone de texte
Code:
Sub AfficherCadresZonesDeTexte()
    Dim shp As Shape
  
    ' Parcourir toutes les formes sur la feuille active
    For Each shp In ActiveSheet.Shapes
        ' Vérifier si la forme est une zone de texte
        If shp.Type = msoTextBox Then
            ' Afficher le cadre de la zone de texte
            shp.Line.Visible = msoTrue
        End If
    Next shp
End Sub
Merci Laurent950
je vais essayer et te tenir au courant si ça marche
A+
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Danyo, Laurent,
Et avec une petite modif on peut masquer/démasquer avec un seul bouton :
VB:
Sub MasquerDemasquerCadresZonesDeTexte()
    Dim shp As Shape, Flag
    ' Parcourir toutes les formes sur la feuille active
    For Each shp In ActiveSheet.Shapes
        ' Vérifier si la forme est une zone de texte
        If shp.Type = msoTextBox Then
            ' Regarder état du cadre et chager son statut
            If shp.Line.Visible = True Then Flag = msoFalse Else Flag = msoTrue
            ' Cacher le cadre de la zone de texte
            shp.Line.Visible = Flag
        End If
    Next shp
End Sub
 

Pièces jointes

  • Classeur1 (6).xlsm
    16.5 KB · Affichages: 2

Danyk01

XLDnaute Occasionnel
Bonjour Danyo, Laurent,
Et avec une petite modif on peut masquer/démasquer avec un seul bouton :
VB:
Sub MasquerDemasquerCadresZonesDeTexte()
    Dim shp As Shape, Flag
    ' Parcourir toutes les formes sur la feuille active
    For Each shp In ActiveSheet.Shapes
        ' Vérifier si la forme est une zone de texte
        If shp.Type = msoTextBox Then
            ' Regarder état du cadre et chager son statut
            If shp.Line.Visible = True Then Flag = msoFalse Else Flag = msoTrue
            ' Cacher le cadre de la zone de texte
            shp.Line.Visible = Flag
        End If
    Next shp
End Sub
Merci Sylvanu, ça a l'air de fonctionner
 

Danyk01

XLDnaute Occasionnel
à la place de
VB:
 If shp.Line.Visible = True Then Flag = msoFalse Else Flag = msoTrue
 ' Cacher le cadre de la zone de texte
 shp.Line.Visible = Flag
je propose
VB:
shp.Line.Visible = Not shp.Line.Visible
à la place de
VB:
 If shp.Line.Visible = True Then Flag = msoFalse Else Flag = msoTrue
 ' Cacher le cadre de la zone de texte
 shp.Line.Visible = Flag
je propose
VB:
shp.Line.Visible = Not shp.Line.Visible
Merci Nain porte quoi
Ca fonctionne aussi
Merci à tous et à bientôt
 

Discussions similaires

Réponses
5
Affichages
283

Membres actuellement en ligne

Statistiques des forums

Discussions
314 121
Messages
2 106 128
Membres
109 495
dernier inscrit
jerome bonneau