J'ai un TreeView dans Excel 2007 avec des cases à cocher.Treeview Excel 2007 sélectionne par programmation les cases à cocher
- Je veux que les cases à cocher pour être tous sélectionnés lorsque l'arbre est peuplé
- Je veux que quand je sélectionner/désélectionner un nœud parent de la liste, tous ses enfants sont sélectionnées/désélectionnées
Voici le code que je l'ai écrit jusqu'à présent:
Private Sub UserForm_Initialize()
'Set control defaults
With Me
.CommandButton1.Caption = "Close"
.Label1 = vbNullString
.ZonesTree.LineStyle = tvwRootLines
End With
'Populate the Treeview
Call TreeView_Populate
End Sub
Private Sub TreeView_Populate()
Dim wbBook As Workbook
Dim wsZones As Worksheet
Dim rngZones As Range
Dim rngCinemas As Range
Dim lngRows As Long
Set wbBook = ThisWorkbook
Set wsZones = wbBook.Worksheets("Cinemas")
'lngRows = wsZones.Range("A65536").End(xlUp).row
lngRows = wsZones.UsedRange.Rows.Count
Set rngZones = wsZones.Range("A1:A" & lngRows)
Dim rngBC As Range
Set rngBC = wsZones.Range("B1:C" & lngRows)
Dim rCell As Range
Dim lastCreatedKey As String
Dim rowCount As Integer
Dim currentRowRange As Range
rowCount = 1
lastCreatedKey = ""
With Me.ZonesTree.Nodes
'Clear TreeView control
.Clear
For Each rCell In rngZones
If Not rCell.Text = "" Then
.Add Key:=rCell.Text, Text:=rCell.Text
lastCreatedKey = rCell.Text
Else
Set currentRowRange = rngBC.Rows(rowCount)
.Add Relative:=lastCreatedKey, relationship:=tvwChild, Key:=currentRowRange.Cells(, 2).Text, Text:=currentRowRange.Cells(, 1).Text
End If
rowCount = rowCount + 1
Next rCell
End With
End Sub
Private Sub Treeview1_NodeClick(ByVal Node As MSComctlLib.Node)
Me.Label1.Caption = Node.Key
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub
cet arbre des données de pics d'une feuille de cette manière:
--- A B --------- --------- C --------- D
ParentNode
----- ------- childNode
------------ childNode
------------ childNode
ParentNode
------------ ChildNode
------------ childNode
ParentNode
------------ childNode
etc ... (vous avez l'idée , c'est une feuille excel ...)
Quel est le code de vba pour sélectionner/désélectionner les boîtes ?? J'ai beaucoup cherché et ne pouvais pas trouver une réponse à ce problème facile ....
Thx à l'avance!
c'est ce que je pensais mais je ne pouvais pas trouver la bonne syntaxe pour cela, pouvez-vous me donner un exemple? – Piero
Échantillon de code ajouté à mon premier message, j'espère que cela aidera –
merci je vais travailler dessus demain et afficher mes résultats! – Piero