VBA sur visio

MAHTAT 0 Points de réputation
2026-05-22T13:10:34.4166667+00:00

Bonjour,

Je voulais savoir est ce qu'il y a une syntaxe directe sur Macro pour Cacher et montrer une forme sur Visio parce que par exemple shape.Visible ne marche pas

Microsoft 365 et Office | Visio | Other | Windows
0 commentaires Aucun commentaire

1 réponse

Trier par : Plus ancien
  1. Anonyme
    2026-05-22T13:49:25.32+00:00

    Remarque : Cette réponse a été automatiquement traduite. Par conséquent, elle peut contenir des erreurs grammaticales ou des expressions maladroites. 

    Bonjour @MAHTAT 

    D’après mes tests, vous pouvez essayer le code VBA suivant pour contrôler une seule forme, en vous concentrant uniquement sur la géométrie en utilisant Geometry.NoShow. 

    Sub HideShape_NoShow() 
        Dim shp As Visio.Shape 
       
        ' Obtenir la forme sélectionnée 
        If ActiveWindow.Selection.Count = 0 Then 
            MsgBox "Veuillez d'abord sélectionner une forme !", vbExclamation 
            Exit Sub 
        End If 
       
        Set shp = ActiveWindow.Selection(1) 
       
        ' Vérifier combien de sections Geometry existent 
        Dim i As Integer 
        For i = 1 To 10 
            If shp.CellExists("Geometry" & i & ".NoShow", visExistsAnywhere) Then 
                shp.CellsU("Geometry" & i & ".NoShow").FormulaU = "TRUE" 
            End If 
        Next i 
       
        MsgBox "Forme cachée ! (géométrie uniquement)", vbInformation 
    End Sub    
    
    
    Sub ShowShape_NoShow() 
        Dim shp As Visio.Shape 
       
        ' Vérifier si une forme est sélectionnée 
        If ActiveWindow.Selection.Count = 0 Then 
            MsgBox "Veuillez d'abord sélectionner une forme !", vbExclamation 
            Exit Sub 
        End If 
       
        Set shp = ActiveWindow.Selection(1) 
       
        ' Restaurer toutes les sections de géométrie 
        Dim i As Integer 
        For i = 1 To 10 
            If shp.CellExists("Geometry" & i & ".NoShow", visExistsAnywhere) Then 
                shp.CellsU("Geometry" & i & ".NoShow").FormulaU = "FALSE" 
            End If 
        Next i 
       
        MsgBox "Forme visible à nouveau !", vbInformation 
    End Sub 
    

    Vous pouvez essayer cette approche et vérifier si elle correspond à votre situation. Je vous serais reconnaissant de bien vouloir partager toute mise à jour après vos tests. 


    Si la réponse est utile, veuillez cliquer sur « Accepter la réponse » et veuillez la voter positivement. Si vous avez des questions supplémentaires sur cette réponse, veuillez cliquer sur « Commenter ».

    Note : Veuillez suivre les étapes de [notre documentation] pour activer les notifications par e-mail si vous souhaitez recevoir la notification correspondante à ce fil.

    Cette réponse vous a-t-elle été utile?


Votre réponse

Les réponses peuvent être marquées comme « Acceptées » par l’auteur(e) de la question et « Recommandées » par les modérateurs, ce qui aide les utilisateurs à savoir que la réponse a résolu le problème de l’auteur(e).