IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Treeview - Erreur 13


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 138
    Par défaut Treeview - Erreur 13
    Bonjour à tous,

    Je sèche sur le controle treeview que j'utilise pour la première fois.
    Ci-après une procédure que j'ai écrite et qui fonctionnait parfaitement jusqu'à aujourd'hui.

    Je subis une erreur 13 (incompatibilité de type) sur le 4e ligne :


    La procédure entière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    Dim tw As MSComctlLib.TreeView
     
    Private Sub UserForm_Initialize()
     
     
    Dim i As Byte, J As Byte, s As String, F As Byte, G As Byte
     
     
    Set tw = Me.TreeView2
     
    tw.Nodes.Clear
     
    With tw
        'Noeud parent
        .Nodes.Add , , "Niveau 1", "Mixed pallet recev. with RF, put away in bulk"
        Set ObjNoeud = .Nodes("Niveau 1")
        ObjNoeud.Bold = True
     
     
        For i = 1 To 13 ' Noeud enfant niveau 1
            .Nodes.Add "Niveau 1", tvwChild, "Niveau 1" & i, Worksheets("OPSEQUENCES").Cells(254 + i, 4)
        Next i
     
        For F = 1 To 8
        Set ObjNoeud = .Nodes.Add("Niveau 12", tvwChild, "Niveau 12" & F, Worksheets("OPTASK").Cells(220 + F, 6))
        ObjNoeud.ForeColor = &HB08050
        Next F
     
    End With
     
    For i = 1 To TreeView1.Nodes.Count
        TreeView1.Nodes.Item(i).Expanded = True
    Next
     
    Set ObjNoeud = Nothing
     
    End Sub
    Avez-vous une idée ?

    Merci d'avance,
    Laurent

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut laurentabj et le forum
    Je sèche sur le controle treeview que j'utilise pour la première fois.
    Ci-après une procédure que j'ai écrite et qui fonctionnait parfaitement jusqu'à aujourd'hui.
    Pas sûr de comprendre : tu l'utilises pour la première fois, et ça marchais avant ? Quand tu ne l'utilisais pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim tw As MSComctlLib.TreeView
    '..... 
    Set tw = Me.TreeView2
    Je ne connais pas TreeView, mais si tu as réussit à le mettre sur un USF, c'est peut-être devenu autre chose qu'un MSComctlLib. peut-être un contrôle ou un ActiveX ?
    Faire un test avec TypeName ou VarType permettra peut-être de le préciser (que de peut-être!!! )
    A+

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 138
    Par défaut
    Excusez ma réponse tardive, mais j'ai dû m'absenter pendant quelques temps...

    Merci Gorfael pour ta réponse.

    D'après ce que je crois savoir, le treeview est bien un contrôle activeX qui est fourni par la bibliothèque MSComctlLib.

    Les tests suivants dans la fenêtre d'exécution me renvoient la même erreur 13 !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    debug.Print TypeName(frmProcCustomization.TreProcCustomizationProcess)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    debug.Print VarType(frmProcCustomization.TreProcCustomizationProcess)

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 138
    Par défaut
    Pour repréciser ma question et faire très simple, quel est le mystère suivant ??!


    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_initialize()
     
    Dim tw As TreeView
    Dim i As Byte, J As Byte, s As String, F As Byte, G As Byte
     
    Set tw = Me.TreProcCustomizationProcess
    Erreur 13 sur le Set !


    Le code de SilkyRoad qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub UserForm_Initialize()
    Dim Tw As TreeView
    Dim Base
    Dim n As Integer, i As Integer, Nd As Integer
    Dim Depart(1 To 20)
    Dim twNode As Node
     
    Set Tw = Me.MonArbre2

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Sans aller plus loin pour l'instant:
    Quand ça fonctionnait et que cela ne fonctionne plus, c'est assez souvent qu'il y a eu une modification de logiciel sur le pc:
    • Changement de version
    • Installation d'un nouveau logiciel
    • Désinstallation d'un logiciel
    • ...


    Te retrouves-tu dans une de ces situations?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 138
    Par défaut
    Bonjour Pierre et merci pour ta réponse,

    je ne pense pas avoir desinstallé/installé de logiciel entre-temps.

    De plus, concernant les 2 bouts de code que j'ai posté à 12h11 : l'un fonctionne, et pas l'autre ! La seule différence est qu'il n'appartiennent pas au même classeur.
    A part ça, la syntaxe est équivalente non ?

    J'ai pensé que les bibliothèques chargées étaient peut être différentes, mais même en cochant les même bibliothèques, je rencontre le même problème....

    Autre point que je viens de noter et qu'il me parait important de souligner :

    Les propriétés du treeview de slkyroad contiennent une propriété "(personnalisé)" qui n'existe pas sur mon propre treeview.

    Pourtant la propriété (A propos de) des 2 treeview renvoient toutes les deux : "Tree View ActiveX control - version 6.0 (SP6)"

    Comment 2 contrôles identiques peuvent présenter des listes de propriétés différentes ?

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 138
    Par défaut
    Au risque de passer pour un soliloque, je poste quand même une solution qui m'a permis de contourner le problème (à défaut de le comprendre...)

    J'ai copié le contrôle treeview d'un autre projet qui fonctionnait (celui de SilkyRoad) dans mon userForm, et je l'ai renommé du nom de mon ancien treeview.
    Et là tout fonctionne !

    Le problème semble donc bien lié à la disparition de la propriété (personnalisé) du contrôle.

    Mais pourquoi celle-ci avait-elle disparue ? le mystère reste entier....

Discussions similaires

  1. treeview erreur
    Par ThieBEN dans le forum VBA Access
    Réponses: 3
    Dernier message: 24/09/2007, 09h10
  2. 'erreur 35601' lors du remplissage treeview
    Par GAGNON dans le forum Access
    Réponses: 18
    Dernier message: 30/11/2006, 19h51
  3. Erreur d'execution 91 dans treeview
    Par walden dans le forum Access
    Réponses: 4
    Dernier message: 18/05/2006, 17h00
  4. Treeview : Erreur "Reference to variable or parameter..
    Par Tirlibibi dans le forum XMLRAD
    Réponses: 4
    Dernier message: 06/05/2003, 11h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo