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

Excel Discussion :

Demande d'aide pour un Treeview [XL-2010]


Sujet :

Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 169
    Points : 54
    Points
    54
    Par défaut Demande d'aide pour un Treeview
    Bonjour à tous,
    J'aurais besoin de votre aide pour mon projet.
    Je vous en explique les objectifs :
    1. créer un treeview qui reprenne l'organisation de mon entreprise. Chaque personne est rattachée à un département. Pour cette partie, j'ai pu adapter plus ou moins bien un fichier de M. Boisgontier ; il s'agit du fichier Organigramme v001 posté ci-après.
    Organigrmme v001.xls

    Cependant, j'aurais besoin d'ajouter la fonctionnalité drag and drop pour me permettre de suivre les mouvements de personnes. Là je suis coincé. En faisant des recherches sur ce sujet, j'ai compris que je n'avais pas le niveau vba pour intégrer cette fonction à mon fichier. J'ai aussi eu la chance de trouver le fichier proposé par tototiti 2008 (http://www.developpez.net/forums/d91...ion-codes-vba/, dans lequel on retrouve cette fonctionnalité et qui est simplement superbe.

    2. j'aurais aimé avoir la possibilité d'ajouter de nouveaux arrivants et les intégrer à l'organigramme.

    3. j'aurais aimé si possible pouvoir copier un fichier modèle et le sauvegarder sur le bureau en indiquant le nom de la personne sélectionnée dans le treeview.

    J'arriverai, je pense, à me dépatouiller avec le point 3. Mais j'aurais besoin de votre aide pour les points 1. et 2.
    L'un d'entre vous aurait-il la gentillesse de m'aider ? J'ai conscience de m'attaquer à quelque chose de compliqué et de demander beaucoup, je comprendrai donc sans problème que ma demande n'aboutisse pas.
    Merci beaucoup
    Bonne soirée

  2. #2
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Peut-être trouverez-vous votre bonheur dans le fichier en annexe (je l'ai trouvé sur le net et je l'exploite tel quel par honnêteté intellectuelle). C'est une version anglaise développée par Peter Thornton de JKP Application Development Services, info@jkp-ads.com, http://www.jkp-ads.com.
    Fichiers attachés Fichiers attachés

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 169
    Points : 54
    Points
    54
    Par défaut
    Bonjour Zekraoui_Jakani,
    Merci beaucoup de votre réponse ! Je regarde ce fichier !
    Bonne journée

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 169
    Points : 54
    Points
    54
    Par défaut
    Bonjour à tous,
    Avec l'aide de l'excellent fichier posté par Zekraoui_Jakani (merci à lui), j'ai pu m'en sortir concernant les points 1 et 2.
    Et contrairement à ce que j'avais dit, c'est le point 3 qui me pose soucis. En prenant pour modèle le fichier "Organigramme v001" posté ci-dessus, auriez-vous une piste pour m'expliquer comment faire pour :
    * sélectionner 1 ou plusieurs items dans le treeview
    * cliquer sur le bouton "Créer un fichier" : une fenêtre s'ouvre pour me demander où sauvegarder les fichiers créés
    * copier un fichier "Modèle" et le sauvegarder suivant le(s) nom(s) sélectionné(s) à l'aide du treeview.

    Merci beaucoup,
    Bien amicalement

    PS: je me rends compte que j'ai posté ma demande au mauvais endroit... Toutes mes excuses.

  5. #5
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Essayer ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub fileSave()
     
    Do
        fName = Application.GetSaveAsFilename
    Loop Until fName <> False
     
    ActiveWorkbook.SaveAs Filename:="NewFileName", FileFormat:=52
     
    End Sub
    pour la création d'un modèle, vous pouvez essayer "FileFormat:=17"

    Pour capter un élément du treeview, j'aurai besoin d'une copie zipée de votre fichier, si possible

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 169
    Points : 54
    Points
    54
    Par défaut
    Bonjour Zekraoui_Jakani,
    Merci beaucoup de votre réponse ! Elle répond à une partie de mon problème !
    Je ne peux décemment pas joindre mon fichier réél, il contient des bugs un peu partout pour l'instant... Bugs que je tente de résoudre actuellement.
    Mais dans l'esprit, ce fichier Organigrmme v001.xls correspond assez bien à ce que je recherche.

    Grâce à votre aide, il me manque à comprendre comment sélectionner 1 ou plusieurs personnes (sans que l'on puisse sélectionner le nœud parent Departement ou les nœuds fils Dep*). J'aurais également aimé que l'utilisateur soit alerté si un fichier modèle a déjà été créé pour un personne donnée.

    MERCI mille, vraiment !
    Bonne journée,
    Amicalement

  7. #7
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut treeView
    Je ne suis pas sûr de saisir la question, mais pour la sélection d'une personne, il faut nécessairement cliquer sur l'arborescence jusqu'au bout de la branche, puis utiliser "Node.Key" pour récupérer le parent ou "Node.text" pour récupérer le nom de la personne, comme dans l'exemple ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub MonArbre_NodeClick(ByVal Node As MSComctlLib.Node)
      If Left(Node.Key, 8) = "NoeudMat" Then
        Me.nom = Application.VLookup(Val(Mid(Node.Key, 9)), Tbl, 2, False)
        Me.Prenom = Application.VLookup(Val(Mid(Node.Key, 9)), Tbl, 3, False)
        Me.Departement = Application.VLookup(Val(Mid(Node.Key, 9)), Tbl, 5, False)
     
        MsgBox "Node.Key = " & Node.Key & "; Node.text = " & Node.Text
        'Vous pouvez stocker ces valeurs dans des variables à exploiter par la suite.
     
      End If
    End Sub
    En principe, si un fichier modèle a déjà été créé pour un personne donnée, la procédure "SaveAs" alerte l'utilisateur en signalant un fichier du même nom (en étant sûr que "Application.DisplayAlerts" n'a pas la valeur False dans le code). Vous pouvez d'ailleurs empêcher l'utilisateur de créer un fichier du même nom en créant une boucle sur "FileName"; 'Si "FileName" exite then Enregistrer=False et laisser le loop tant que le nom n'est pas changé'

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 169
    Points : 54
    Points
    54
    Par défaut
    Bonjour,
    MERCI !! C'est juste excellent !
    Merci beaucoup pour votre aide et vos explications,
    Bonne journée,
    Amicalement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Demande d'aide pour un exercice
    Par IDE dans le forum C
    Réponses: 3
    Dernier message: 29/10/2005, 15h09
  2. [xsl][xalan]Demande d'aide pour un comptage
    Par HomoErectus dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/09/2005, 09h22
  3. Demande d'aide pour query difficile
    Par ericjean514 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 22/02/2005, 18h52
  4. Demande d'aide pour une requête
    Par arkzor dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/12/2004, 02h40
  5. [TPW][cours]Demande d'aide pour finir un programme
    Par jf dans le forum Turbo Pascal
    Réponses: 21
    Dernier message: 16/06/2003, 18h10

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