Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Sat 26 November 2005 17:51

AlineC
Membre du bureau
Lieu: AVIGNON
Date d'inscription: 5 Sep 2005
Messages: 2143
Site web

Cocher Décocher des couches

Savez vous s'il est possible de cocher-décocher des couches par le biais
d'une macro par exemple ? comment fait-on ? je n'ai jamais fait de macro
dans arcmap, ni ailleurs ...

Dernière modification par AlineC (Mon 27 November 2017 15:00)

Hors ligne

 

#2 Mon 28 November 2005 09:24

Frédéric Prally
Participant occasionnel
Date d'inscription: 25 Oct 2005
Messages: 16

Re: Cocher Décocher des couches

Bonjour Aline,

Voici un exemple de code qui permet de décocher toutes les couches présentes dans la TOC. En espérant que cela puisse t'aider.

Code:

Public Sub DesactiveCouche()
'***Description : Désactive la visibilité de toutes les couches présente dans la TOC
'***              Cela revient cocher / décocher les couches de la TOC.
    Dim pMxdoc As IMxDocument
    Dim pMap As IMap
    Dim pEnumLayer As IEnumLayer
    Dim pLayer As ILayer
    
    Set pMxdoc = ThisDocument
    Set pMap = pMxdoc.FocusMap
    Set pEnumLayer = pMap.Layers
    
    Set pLayer = pEnumLayer.Next
    Do Until pLayer Is Nothing
        If pLayer.Visible = True Then
            pLayer.Visible = False
        End If
    Set pLayer = pEnumLayer.Next
    Loop
    
    'Rafraichit la TOC
    pMxdoc.CurrentContentsView.Refresh pLayer
    
End Sub

Hors ligne

 

#3 Mon 28 November 2005 10:56

crevette
Participant actif
Lieu: Noisy Le grand
Date d'inscription: 13 Sep 2005
Messages: 50

Re: Cocher Décocher des couches

voila un exemple de code bateau :
   
   
  Option Explicit
  Dim theDoc As IMxDocument
Dim theLayer As ILayer
Dim pMxDoc As IMxDocument                            ' Déclaration du document
Dim pMxApp As IMxApplication                         ' Déclaration de l'application
Public pAccesLayer As IFeatureLayer                  ' Couche des accès
  Private Sub UIButtonControl1_Click()
       
    Set pMxDoc = ThisDocument
    Set theDoc = ThisDocument
    Set ThisDocument.pAccesLayer = pMxDoc.FocusMap.Layer(0)
    Set theLayer = theDoc.FocusMap.Layer(0)
    theLayer.Visible = False
    theDoc.UpdateContents
    theDoc.ActiveView.Refresh
   
End Sub
  Private Sub UIButtonControl2_Click()
      Set pMxDoc = ThisDocument
    Set theDoc = ThisDocument
    Set ThisDocument.pAccesLayer = pMxDoc.FocusMap.Layer(0)
    Set theLayer = theDoc.FocusMap.Layer(0)
    theLayer.Visible = True
    theDoc.UpdateContents
    theDoc.ActiveView.Refresh
   
End Sub

   
  pour l'utiliser il suffit de créer 2 boutons dans le document, mais tu peux le simplifier en en créant qu'un et en utilisant un test.
  La il n'est valable que pour une seule couche, la premiere située dans la table des matières.
l'argument important pour cocher est décocher est 'visible'.

Hors ligne

 

#4 Fri 02 December 2005 10:29

nicolas valls
Participant assidu
Date d'inscription: 28 Oct 2005
Messages: 154

Re: Cocher Décocher des couches

Juste une petite remarque :
si vous maintenez enfoncer la touche ctrl et que vous cliquez sur une case a cocher (rendre visible ou pas la couche) ca rend visible/invisible toutes les couches du bloc de donnnées


Nicolas VALLS
Géomaticen
Cabinet Pierre GRILLET

Hors ligne

 

Pied de page des forums

Powered by FluxBB