Visio, jouer avec les calques et les macros!

Quand vous avez dans plan Visio avec beaucoup de connections, cela devient très vite non lisible.

Voici comment créer des macros sous Visio pour exploiter au maximum vos calques.

Commençons par gérer nos calques.

Dans L’onglet Accueil, cliquer sur Calques puis Propriétés du calque.

 

Créer vos templates selon vos besoin.

Sur votre projet visio, sélectionner vos formes et cliquer sur Calques puis Affecter au calque.

 

Cliquer sur le calque à associer à vos forme, puis cliquer sur OK.

 

Activer le mode développeur.

Dans le menu Fichier, cliquer sur Options. Puis dans Personnaliser le ruban, cocher Développeur puis cliquer sur OK.

 

Dans le ruban, cliquer sur Développeur, Insérer puis insérer une case à cocher.

 

Sélectionner votre case à cocher et cliquer sur Propriétés.

 

 

 

Changer les paramètres suivant:
(Name) : BlueCheckBox
Caption : Bleu ON
Value : True

 

Recommencer la manipulation avec une autre CheckBox.

 

Cliquer sur Enregistrer une macro.

 

Changer le nom de la macro et cliquer sur OK.

 

Dans le ruban, cliquer sur Calques puis Propriétés des calques.

 

Désactiver votre premier calque créer précédemment, puis cliquer sur OK.

 

Retourner dans l’onglet Développeur puis cliquer sur Arrêter l’enregistrement.

 

Cliquer sur Visual Basic.

 

Cliquer sur NewMacros, votre code doit ressembler à ceci.

 

Modifier le code comme ci dessous:

Sub LayerToggle(ItemNbr As Integer, OnOff As String)

    'Enable diagram services
    Dim DiagramServices As Integer
    DiagramServices = ActiveDocument.DiagramServicesEnabled
    ActiveDocument.DiagramServicesEnabled = visServiceVersion140 + visServiceVersion150

    Dim UndoScopeID1 As Long
    UndoScopeID1 = Application.BeginUndoScope("Propriétés des calques")
    Dim vsoLayer1 As Visio.Layer
    Set vsoLayer1 = Application.ActiveWindow.Page.Layers.Item(ItemNbr)
    vsoLayer1.CellsC(visLayerVisible).FormulaU = OnOff
    Application.EndUndoScope UndoScopeID1, True

    'Restore diagram services
    ActiveDocument.DiagramServicesEnabled = DiagramServices

End Sub

 

Cliquer sur ThisDocument dans Visio Objets, puis sélectionner vos CheckBox pour faire apparaître les sections.

Ajouter le code suivant dans vos sections :

If Non_de_la_checkbox_CheckBox Then
    Call LayerToggle(1, 1)
    Non_de_la_checkbox_CheckBox.Caption = "Autre ON"
    Else
    Call LayerToggle(1, 0)
    Non_de_la_checkbox_CheckBox.Caption = "Autre OFF"
    End If

 

Remplacer Non_de_la_checkbox_ par le nom de votre checkbox.

 

Le premier chiffre dans les lignes Call LayerToggle(1, 1) et Call LayerToggle(1, 0) correspond au numéro du calque

Modifier le chiffe par le numéro de votre calque.

Private Sub BleuCheckBox_Click()
If BleuCheckBox Then
    Call LayerToggle(3, 1)
    BleuCheckBox.Caption = "Autre ON"
    Else
    Call LayerToggle(3, 0)
    BleuCheckBox.Caption = "Autre OFF"
    End If
End Sub

Private Sub VertCheckBox_Click()
If VertCheckBox Then
    Call LayerToggle(4, 1)
    VertCheckBox.Caption = "Autre ON"
    Else
    Call LayerToggle(4, 0)
    VertCheckBox.Caption = "Autre OFF"
    End If
End Sub

 

Pour enregistrer, fermer les fenêtres de Visual Basic.

 

 

 

Laisser un commentaire