Définition varible dans un TreeView

Bonjour,

Tout d'abord je vous explique rapidement le contexte du problème.

1. J'ai récupéré un fichier .xlsm avec un exemple d'un treeview.

2. Je l'ai ensuite modifié pour mon utilisation.

3. Je l'intègre ensuite à un autre fichier .xlsm. Pour cela j'ai exporté mon userform et le module qui le permet de le lancer. Puis je l'ai importé dans mon fichier global.

Maintenant vient mon problème :

Quand je tente de lancer cette macro, j'obtiens le message d'erreur suivant :

"Erreur de compilation : Variable non définie" ce message est affecté au terme tvwChild de mon treeview.

Comment définit-on ce type de variable ?

J'ai beau chercher sur les différents forum des différents site, je ne trouve pas la solution

Cordialement,

Antoine

Ps : Voici mon code :

Option Explicit
Option Compare Text

Dim maPageHtml As HTMLDocument

Private Sub UserForm_Initialize()
    Dim NumCol As Integer, j As Integer
    Dim NumLig As Integer, k As Integer
    Dim Cell As Range
    Dim Image1 As String, Image2 As String

    '--- Spécifie les images qui s'affichent dans les noeuds.
        'Les images doivent être dans le même répertoire que le classeur.
        Image1 = ThisWorkbook.Path & "\redball.gif"
        Image2 = ThisWorkbook.Path & "\grnarrow.gif"

        'Supprime le contenu de l'ImageList
        Me.ImageList1.ListImages.Clear

        'chargement des images
        Me.ImageList1.ListImages.Add 1, "Img1", LoadPicture(Image1)
        Me.ImageList1.ListImages.Add 2, "Img2", LoadPicture(Image2)

        'Associe les images au TreeView
        Set Me.TreeView1.ImageList = Me.ImageList1
    '---

    'Boucle sur les éléments de la Structure pour remplir le TreeView
    For Each Cell In Sheets("Structure").Range("A1:A" & Sheets("Structure").Range("N65533").End(xlUp).Row)
        NumCol = Cell.End(xlToRight).Column
        NumLig = Cell.Row

        If NumCol = 2 Then
            TreeView1.Nodes.Add , , "maClé" & NumLig & NumCol, _
                    UCase(Sheets("Structure").Cells(NumLig, NumCol)), "Img1", "Img1"
            Else
            k = Sheets("Structure").Cells(NumLig, NumCol).Offset(0, -1).End(xlUp).Row
            j = Sheets("Structure").Cells(NumLig, NumCol).Offset(0, -1).Column

            'S'il s'agit d'un membre de l'équipe:
            '(Dans ce cas la colonne N contient la lettre "x")
            If Sheets("Structure").Cells(NumLig, 14) = "x" Then
                TreeView1.Nodes.Add _
                    "maClé" & k & j, tvwChild, "maClé" & NumLig & NumCol, _
                                    Sheets("Structure").Cells(NumLig, NumCol), "Img2", "Img2"
                Else
                'S'il s'agit d'un titre de service:
                 TreeView1.Nodes.Add _
                    "maClé" & k & j, tvwChild, "maClé" & NumLig & NumCol, _
                                UCase(Sheets("Structure").Cells(NumLig, NumCol)), "Img1", "Img1"
            End If
        End If
    Next Cell

    TreeView1.Style = 5
End Sub

Private Sub UserForm_Activate()
    'Pour afficher l'UserForm en plein écran

    'With Me
        '.StartUpPosition = 3
        '.Width = Application.Width
        '.Height = Application.Height
        '.Left = 0
        '.Top = 0
    'End With
End Sub

'Déploie l'ensemble du TreeView si la checkBox
'"Déployer la totalité de l'arborescence" est cochée.
Private Sub CheckBox1_Click()
    Dim i As Byte

    If CheckBox1 Then
        'Boucle sur tous les noeuds du TreeView.
        For i = 1 To TreeView1.Nodes.Count
            TreeView1.Nodes.Item(i).Expanded = True
        Next
    Else
        For i = 1 To TreeView1.Nodes.Count
            TreeView1.Nodes.Item(i).Expanded = False
        Next
    End If

    'Positionne le 1er noeud dans la partie visible du TreeView
    TreeView1.Nodes.Item(1).EnsureVisible
End Sub

'Evenement Clic sur un élément du treeView.
Private Sub TreeView1_Click()
    Dim leNom As String, Fichier As String

    'Vérifie si l'élément sélectionné correspond à une personne ou à un titre
    'de service.
    '(La colonne N contient la lettre "x" s'il s'agit d'une personne)
    If Sheets("Structure").Cells(TreeView1.SelectedItem.Index, 14) <> "" Then
        'Affiche les informations sur la personne sélectionnée.
        Label2 = TreeView1.SelectedItem.Text
        Label3 = "Téléphone : " & Sheets("Structure").Cells(TreeView1.SelectedItem.Index, 15)
        Label4 = "Fax : " & Sheets("Structure").Cells(TreeView1.SelectedItem.Index, 16)
        Label5 = "Fonction : " & TreeView1.SelectedItem.parent

        leNom = TreeView1.SelectedItem.Text
        'Définit l'image associée au nom sélectioné.
        Fichier = ThisWorkbook.Path & "\" & leNom & ".jpg"

            'Vérifie si le fichier image existe dans le répertoire
            If Dir(Fichier) <> "" Then
                'Charge l'image si elle existe.
                Image1.Picture = LoadPicture(Fichier)
                Else
                'Sinon fait le ménage dans le contrôle Image
                Set Image1.Picture = Nothing
            End If
    End If

End Sub

Bonjour,

Je relance le sujet. Avez-vous une idée comment on définit tvwChild ?

Merci à ceux qui me répondront ?

Cordialement,

Batoine

Rechercher des sujets similaires à "definition varible treeview"