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

Microsoft Office Discussion :

Forêt d'arborescences en VBA/Excel


Sujet :

Microsoft Office

  1. #81
    Membre du Club Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 482
    Points : 46
    Points
    46
    Par défaut Forêt d'arborescences en VBA/Excel
    Post Scriptum
    J'écris "je ne vois rien de caractéristique..." parce qu'en fait ce qui est caractéristique ne se voit pas (sinon on pourrait en faire un croquis), mais cela s'entend: or as-tu essayé de décrire à quelqu'un d'autre ce que tu entends dans une musique ? Je suis en train de faire des tests pour une prothèse auditive: je suis incapable de dire au prothésiste ce que j'entends et comment j'entends, et lui de se le représenter !!
    P.
    There is always an easy solution to every human problem - neat, plausible. And wrong.
      0  1

  2. #82
    Invité
    Invité(e)
    Par défaut
    qu'est ce qui caractérise un compositeur? tu as la réponse!

    Seul point intéressant: les techniques de composition ou langages qu'il a pu inculquer à ses disciples
    comment formuler ça pour prendre une dissension objective????

    pour bon nombre de nos contemporain Charles Trenet est le maître incontesté de la chansonnette du vingtième siècle!

    ça fait de tous les autre venu après ses disciple, si en plus il à pris un chanteur sous son aile!
      0  0

  3. #83
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    Par défaut
    bonjour,

    moi , je dis qu'il faudrait ce mettre au travail ... et arrêter de papoter ...

    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM
      1  1

  4. #84
    Membre du Club Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 482
    Points : 46
    Points
    46
    Par défaut Forêt d'arborescences en VBA/Excel
    Bonjour Robert,
    Tu dis
    comment formuler ça pour prendre une dissension objective????
    et tu soulèves là un problème gros comme une montagne ! Celui de l'évolution du langage musical des origines à nos jours. J'ai suivi récemment 2 semestres d'un cours sur le langage musical (à l'Université du 3ème âge) donné par un compositeur et prof de composition mais je l'ai trouvé fumeux et peu satisfaisant (!), d'où l'idée de ce projet. Il ne part pas des origines mais du début du XXème siècle parce que c'est le début d'une époque de ruptures (quoiqu'il faille se méfier de cette idée: il y a plus souvent évolution que révolution).
    Il faudrait être un super-musicologue pour répondre valablement à ta question. N'en étant pas un, je dois me contenter des "étiquettes" qu'on (des musicologues justement) a plaquées sur des manière de faire de la musique. L'Eglise catholique nous a conservé, avec le chant grégorien (VIIIe siècle environ) la forme la plus simple ou primitive de la musique (européenne mais aussi mondiale): la monodie: défense de produire deux sons différents en même temps. (Il y a même un intervalle (distance entre 2 sons simultanés) que l'on continue d'appeler aujourd'hui "diabolus in musica", le diable dans la musique. Mais on le fait entendre tout de même). Un jour un audacieux s'aventure à faire entendre une mélodie sur fond d'une note continue (on entend encore un peu ça dans les chants traditionnels de Corse ou de Bulgarie, c'est l'effet de la "pédale" quand on joue de la vielle à roue, traditionnelle dans le centre de la France), première "rupture". Les compositeurs-théoriciens s'appliquent à définir (et à codifier) ce qui sonne bien (donc ce qui est consonant) et ce qui ne sonne pas bien (ce qui est dissonant) et les règles qui permettent de l'obtenir. A mesure qu'on se permet de faire entendre 3 voix et plus ces règles deviennent de plus en plus compliquées mais elles vont rester en usage jusqu'à nos jours au moins pour certains auteurs ou certaines oeuvres (par exemple la symphonie classique de Prokofiev ou Pulcinella de Stravinski, deux compositeurs qui n'hésitent pas par ailleurs à se libérer des règles de la composition classique.) Je m'égare: il était question d'étiquettes. Je les ai stockées dans une feuille XL sous le nom de langages. Je ne sais pas si ma liste est complète, en tout cas la voici:
    Aléatoire, atonal, chromatique, classique, concret, dodécaphonique, électro-acoustique, expressionniste, impressionniste, informatique, minimaliste, modal, multisérialiste, néoclassique, postromantique, sériel, synthétique (etc.)
    Faute de mieux, j'en suis réduit à noter ce que mes divers ouvrages musicologiques m'indiquent à propos de chaque compositeur; en aval, si un "prof" a pour langages "électro-acoustique" et "sériel", j'attribuerai ces 2 "étiquettes" à chacun(e) de ses disciples sans me poser plus de questions. En effet, comme dit l'autre: "Qu'alors y faire ?" ou bien: A l'impossible nul n'est tenu.
    De toute manière, la musicologie n'est pas une science exacte et son informatisation me paraît très problématique.
    Quant à Charles Trenet, je suis de ceux qui l'admirent, mais pas seulement comme compositeur: c'était en même temps un poète.
    Est-ce que les modérateurs vont tolérer encore longtemps de telles digressions ?
    A bientôt
    Cordialement
    Pierre
    There is always an easy solution to every human problem - neat, plausible. And wrong.
      0  1

  5. #85
    Membre du Club Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 482
    Points : 46
    Points
    46
    Par défaut Forêt d'arborescences en VBA/Excel
    Ouais mjpmjp, tu n'as pas tout tort, comme on dit en Helvétie, mais je vois que tantôt toi, tantôt dysorthographie vous ajoutez des complications à un sujet qui n'est pas des plus simples, alors faire comprendre jusqu'où on va et où on s'arrête, ce n'est pas papoter, mais baliser le chemin.
    Quant au travail, il est en cours. J'y reviendrai bientôt. Rappelle-toi qu'avant ce mois de mars je ne savais pas ce qu'était un module de classe. Et comme disait Einstein sur ce forum (mais pas dans ces termes): en lisant, on s'instruit, en pratiquant, on apprend. Et j'ai beaucoup à apprendre !!
    Cordialement
    Pierre
    There is always an easy solution to every human problem - neat, plausible. And wrong.
      0  1

  6. #86
    Invité
    Invité(e)
    Par défaut
    pour ma part il n'est pas vraiment question de t'aide,bien que comme tu l'a constaté je m'y efforce, mais de te permettre (et c'est surement le plus compliqué dans ce genre d'exercice) de borner le périmètre de ton application et de te permettre d'investiguer des piste pour établir un raisonnement!

    pour Charles Trenet au delà qu'il est un poète et compositeur de talent, je relève que le matin vers 6h en sortant du métro, si tu entent une de ses chansons au kiosk à journaux il te colle du baume au cœur!
      0  0

  7. #87
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    Par défaut
    bonjour,
    au début , il était question de "Fiches" ...
    en fait , le plus important c'est la détermination de la structure de cette fiche ,
    sans se soucier de la "valeur" du contenu qui est moins importante que "l'information" qu'il peut indiquer , car chaque lecteur de cette fiche aura son idée propre sur la valeur des choses

    donc , sommairement ,
    on pourrait partir sur un triptyque , (quitte a rajouter)
    module 1 : identité --> qui peut être scindé , d'une part : sa personne et d'autre part : ses relations
    module 2 : acquisition --> qui peut être scindé , d'une part : ce qu'il a acquit et d'autre part : de qu'elle origine
    module 3 : restitution --> qui peut être scindé , d'une part : ce qu'il a restitué et d'autre part : la destination

    en parallèle , un triptyque (musical)
    module 1 : les couleurs --> style / nuance ...
    module 2 : les instruments
    module 3 : les partitions --> les particularités / les sons (notes) / les silence ...

    les info du triptyque musical peuvent être indiquées sous forme numérique (1 = couleur , 1.1=jaz,...) dans une case en acquisition / restitution

    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM
      0  1

  8. #88
    Membre du Club Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 482
    Points : 46
    Points
    46
    Par défaut Forêt d'arborescences en VBA/Excel
    Salut mjpmjp,
    Il était question de fiches, en effet, et comme je partais sur une solution Access la fiche était un état rassemblant tout ce qu'on avait réuni d'infos sur chaque compositeur. Maintenant on est dans Excel et il faudra créer un userform qui émule un état Access avec le même contenu. Mais j'anticipe. Cet inventaire dont tu parles, je l'ai fait. Je pars du point de vue que je crée une classe musiciens (un nom parmi d'autres possibilités) et que j'en tire des instances qui portent chacune le nom d'un de mes 475 compositeurs. J'anticipe de nouveau: ma classe est dotée essentiellement de propriétés qui correspondent en partie aux éléments que tu mentionnes:
    - l'identité du compositeur,
    - les langages musicaux qu'il est supposé pratiquer (parce qu'il a étudié avec des profs qui les enseignaient)
    - et enfin son "réseau", soit ses maîtres, ses pairs (ses condisciples) et ses élèves.
    Mais mon ambition s'arrête là. Je n'ai pas l'intention ni les capacités (ni le temps) de constituer l'énorme base de données proprement musicales à laquelle tu fais allusion. Je pense d'ailleurs qu'il y a quantité de notions et de perceptions (la musique se perçoit avant tout, même si certains se plaisent à la lire sur partitions) qui sont quasiment impossible à traduire en concepts manipulables par un logiciel. De plus je ne vois pas où cela me conduirait.
    Il y a un phénomène qui m'intéresse particulièrement: les fondements de la musique classique ont été élaborés à l'époque des prédécesseurs de J.-S. Bach, actifs au siécle précédent (le XVIème), voire avant (cf Josquin des Prez, 1440-1521). Et ces fondements ont constitué l'essentiel du "vocabulaire" jusqu'à l'époque romantique (XIXème s.). Ce vocabulaire est toujours utilisé par bien des compositeurs actuels mais au tournant du XXe siècle de plus en plus s'est affirmée l'opinion que ce système avait fait son temps et qu'il fallait trouver autre chose. Il faudrait une analyse fouillée dont je suis incapable pour fournir le détail de cette (r)évolution mais tracer les filiations musicales dont je parle depuis plusieurs mois sera déjà une première façon de décrire ce phénomène. Mon ambition ne va pas plus loin. Et c'est déjà costaud, si on pense à la recherche d'une représentation graphique ! En attendant, il y a du pain sur la planche. Merci pour tes travaux de débroussaillage, même s'ils ont tendance à trop élargir le champ de la recherche.
    Bien à toi
    Pierre alias tàt
    There is always an easy solution to every human problem - neat, plausible. And wrong.
      0  1

  9. #89
    Invité
    Invité(e)
    Par défaut
    Bonjour Pierre,

    Je d'accord avec ton dernier message. Quand on a deux personnes dans une même pièce on a déjà trois avis!

    Difficile de séparer le vrai de faux!
    C'est pour cela que je parlais plus haut de fixer le périmètre de l'application. Il serait male venus de ma part de jouer le donneur de leçons car en réalité c'est plus facile à dire qu'a faire!

    En revanche l'informatique se borne à quantifier (subjectif => objectif)!

    On à trouvé pleins de moyens d'affublé des cotations objectives à des critères subjectifs, mon GPS me proposera de faire deux kilomètres d'autoroute plutôt que cinq cent mettre à travers champs!

    En fait c'est simple (la belle affaire) je'affecte une cotation (pas forcement numérique) simple ou multiple a mes compositeur.
    Le revers de la médaille est comme j'établis cette cotation?

    Dans mon exemple avec Mozart j'utilise un collection pour faire le lien entre le maître et l'élève ainsi je peux me balader dans la hiérarchie.

    Mais je peux établir une relation avec clavecin et passer d'un élevé de Mozart à un élève de Beethoven sens qu'il puis avoir une relation entre Mozart et Beethoven!
    je suis un élève de Mozart je suis dans S1 en plus je fais du clavecin je sui en S1'
    C'est les blocs logique de notre enfance! A appartient à B mais n'appartient pas à C!

    Et c'est là que réside la vrai difficulté!
    Dernière modification par Invité ; 16/03/2018 à 08h21.
      0  0

  10. #90
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Je ne sais pas jusqu'où va aller cette discussion qui devrait relever avant tout de la conception.
    Je rappelle simplement les termes de non message 33 (du mois dernier).
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
      0  1

  11. #91
    Membre du Club Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 482
    Points : 46
    Points
    46
    Par défaut Forêt d'arborescences en VBA/Excel
    Salut, unparia,
    La réponse est dans les derniers posts de dysorthographie: c'est le mot "périmètre". Je sais, moi, jusqu'où je veux aller et quelles limites je ne veux pas franchir, mais il m'a fallu du temps pour en convaincre mes interlocuteurs. Indispensable, car sinon ils me proposent leur aide informatique pour aller dans des régions que je n'ai pas l'intention de visiter. Je crois que maintenant c'est ok, donc cette discussion a atteint son but et son terme. ce qui répond à ton interrogation. Et c'était bien de la conception: elle a défini "de quoi on parle": c'est le B.A.BA.
    Ton post 33 a été pris au sérieux et a reçu un début de mise en oeuvre. J'ai rédigé une lettre à l'intention du prof de biologie computationnelle de notre école polytechnique, mais les suggestions que j'ai reçues sur ce forum m'ont dissuadé de l'envoyer, car j'avais l'impression de m'apprêter à prendre, comme disait mon père, un palan pour soulever un gramme. Mais ça reste dans un coin de ma mémoire. La relecture de ces plus de 70 (septante ;-)) posts est instructive, j'y reviens de temps en temps.
    Donc merci, et merci d'avance de ton aide ciblée cas échéant.
    Cordialement
    P.
    There is always an easy solution to every human problem - neat, plausible. And wrong.
      0  1

  12. #92
    Membre du Club Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 482
    Points : 46
    Points
    46
    Par défaut Forêt d'arborescences en VBA/Excel
    Bonjour,
    Pas facile les Property. Je construis ma classe et lui donne des propriétés. Certaines sont des tableaux: c'est le cas (par ex,) pour la liste des eleves et la liste des condisciples. Elles sont identiques et pourtant la première passe et la seconde donne une erreur ("Les définitions de procédures... sont incohérentes..."). Mon code (adapté d'un exemple d'Emmanuel Tissot):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private cpList_Eleves() As String
     
    Property Get List_Eleves(ByRef NewList() As String)
       List_Eleves = cpList_Eleves
    End Property
     
    Property Set List_Eleves(ByRef NewList() As String)
       'Vérification des caractéristiques de NewList (base et dimensions)
       cpList_Eleves = NewList
    End Property
    Jusque là, ça va. Ca se gâte avec la suite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private cpList_Condisciples() As String
     
    Property Get List_Condisciples(ByRef NewList() As String)
       List_Condisciples = cpList_Condisciples
    End Property
     
    Property Set List_Condisciples(ByRef NewList() As String)
       'Vérification des caractéristiques de NewList (base et dimensions)
       cpList_Condisciples = NewList
    End Property
    Je ne vois pas pour quelle raison la première passe et la seconde coince. Est-ce que quelqu'un peut me la signaler ?
    Merci d'avance.
    Cordialement
    Pierre (tàt)
    There is always an easy solution to every human problem - neat, plausible. And wrong.
      0  1

  13. #93
    Invité
    Invité(e)
    Par défaut
    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
    Private cpList_Condisciples() As String
    Private Sub test()
    Dim t() As String: ReDim t(1): t(0) = "toto": t(1) = "titi"
    List_Condisciples = t()
    t() = List_Condisciples
    End Sub
     
     
    Property Get List_Condisciples() As String()
       List_Condisciples = cpList_Condisciples
    End Property
     
    Property Let List_Condisciples(ByRef NewList() As String)
       'Vérification des caractéristiques de NewList (base et dimensions)
       cpList_Condisciples = NewList
    End Property
      0  0

  14. #94
    Membre du Club Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 482
    Points : 46
    Points
    46
    Par défaut Forêt d'arborescences en VBA/Excel
    Bonjour, bonne semaine !
    Une chose m'échappe dans ton code du post précédent: j'ai cru comprendre que quand la propriété est un tableau, la 2ème procédure était Property Set au lieu de Property Let. Est-ce qu'il y a des exceptions ? Merci d'avance.
    Cordialement
    Pierre
    There is always an easy solution to every human problem - neat, plausible. And wrong.
      0  1

  15. #95
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    en fait il faut regarder une propriété comme une variable (ce ne sont pas des procédure)!

    Code indépendamment du Set ou du Let : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    List_Condisciples=Tableau()
    Tableau()=List_Condisciples

    maintenant le set affect un objet à un variable par référence.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set MyVariable=ActiveCell
    ainsi si je modifie la valeur de MyVariable je modifie la valeur d'ActiveCell!

    la méthode set d'une propriété est pour affecté la référence d'un objet à un variable!

    si tu fait le test 1 puis 2 en appuyant sur la touche [F8] tu comprendra la différence!

    Code 1 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private cpList_Condisciples As Object
    Sub test()
    List_Condisciples = ActiveCell
    Set List_Condisciples = ActiveCell
    End Sub
     
     
    Property Get List_Condisciples() As Object
      Set List_Condisciples = cpList_Condisciples
    End Property
     
    Property Set List_Condisciples(ByRef NewList As Object)
       Set cpList_Condisciples = NewList
    End Property
    Code 2 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private cpList_Condisciples As Object
    Sub test()
      List_Condisciples = ActiveCell
      Set List_Condisciples = ActiveCell
    End Sub
     
     
    Property Get List_Condisciples() As Object
      Set List_Condisciples = cpList_Condisciples
    End Property
     
    Property Let List_Condisciples(ByRef NewList As Object)
       Set cpList_Condisciples = NewList
    End Property
    Dernière modification par Invité ; 19/03/2018 à 14h23.
      0  0

  16. #96
    Membre du Club Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 482
    Points : 46
    Points
    46
    Par défaut Forêt d'arborescences en VBA/Excel
    Bonjour dysorthographie,
    Encore une bonne leçon de VBA, merci. En attendant de m'y pencher, faisons le point. J'ai reconstitué sous forme d'userform le formulaire Access permettant de saisir les "couples" maitre-élève et d'en faire une table Excel. Ca fonctionne. J'ai aussi créé une classe "musiciens" que je vais instancier. Je lui ai donné quelques variables scalaires et, plutôt que des tableaux, 3 variables collections pour stocker les maitres, les élèves et les pairs (plutôt que condisciples) de chaque objet-compositeur. Pour créer les objets et leur affecter diverses valeurs j'ai ouvert un second classeur "maquette" avec une cinquantaine de compositeurs bidons (pour éviter de cochonner mon projet avec mes tests et mes tâtonnements de code). Et là, dans la procédure visant à attribuer les maitres et les élèves au compositeur adéquat après l'avoir nommé, je bloque. Chaque musicien a une propriété "nom_complet" (prénom + nom reliés par un underscore) destinée à recevoir l'un de mes 475 noms réels mais j'ai beau tester x variantes j'obtiens toujours une erreur. Le code ci-dessous me donne une "Erreur définie par l'application ou par l'objet":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    'cree_objet_musicien()
    ThisWorkbook.Sheets("couples").Activate
    For ligne = 1 To 52
    eleve_nom_complet = Cells(ligne, 2).Value & "_" & Cells(ligne, 3).Value
    un_musicien.nom_complet = eleve_nom_complet
    MsgBox (un_musicien.nom_complet)
    Next
    Je ne trouve pas l'erreur ! Merci de me dépanner.
    Pendant que j'y étais, j'ai un peu habillé mon affaire, avec une page et un UF d'accueil orné d'une photo d'orchestre, d'où l'on peut lancer l'application (ou l'annuler).
    Comme tu vois ce petit projet m'empêche de dormir !
    Cordialement
    Pierre
    There is always an easy solution to every human problem - neat, plausible. And wrong.
      0  1

  17. #97
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    Par défaut
    bonjour,

    je n'ai jamais programmé avec des "classe" je suis donc complétement "novice" dans ce domaine ...
    c'est donc avec gourmandise que je vais vous suivre sans trop vous déranger

    ce que je remarque : un_musicien.nom_complet = eleve_nom_complet

    musicien....nom_complet
    eleve....nom_complet

    musicien --> classe / fiche --> nom_complet --> élément
    eleve --> classe / fiche --> nom_complet --> élément

    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM
      0  1

  18. #98
    Membre du Club Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 482
    Points : 46
    Points
    46
    Par défaut Forêt d'arborescences en VBA/Excel
    Bonjour,
    Pour moi, c'est une "première fois" et d'après certains tutoriels (il y en a plusieurs sur ce site) ça a l'air simple de fabriquer ses propres objets (et fascinant) mais ne regarde pas de trop près de que j'ai fait, je me suis brouté et je suis un mauvais codeur. Attends que je rectifie !
    Bien à toi
    P.
    There is always an easy solution to every human problem - neat, plausible. And wrong.
      0  1

  19. #99
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    montre nous le code de la propriété nom_complet!

    pour ce qui concerne les modules de classe, je n'ai pas forcément toutes le réponses, mais je suis relativement à l'aise!
      0  0

  20. #100
    Membre du Club Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 482
    Points : 46
    Points
    46
    Par défaut Forêt d'arborescences en VBA/Excel
    Bonjour,
    Pour expliquer nom_complet:
    La base c'est une table dite "couples" où j'ai une série de valeurs du style:
    col2:Tartempion col3:Jean [col4: élève de] col5:Tartemplume Col6:Jules
    et je fais
    eleve_nom_complet = Cells(ligne, 2).Value & "_" Cells(ligne, 3).Value
    ce qui donne Tartempion_Jean. De la même manière je fais maitre_nom_complet.
    nom_complet tout court représente le nouvel objet musiciens.
    Et c'est là (entre autres) que je bute: à la création d'un objet je veux avoir
    Dim Mozart as New Musiciens
    au lieu de dim Nom_Complet as New Musiciens. Pour le code, mieux vaut te passer tout le module de classe:
    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
    Public List_maitres As New Collection
    Public List_eleves As New Collection
    Public List_pairs As New Collection
     
    'module de travail sur la classe musiciens
     
    ' "Charger" les propriétés
     
    Property Let nom_d_objet(nom_complet)
        nom_complet = Sheets("couples").Cells(ligne, 2).value & "_" & Cells(ligne, 3).value
    End Property
     
    Property Let identite(ID, Nom, Prenom, Naissance, Deces, Pays, Notes)
    End Property
     
    Property Let nombre_maitres(quel_nombre)
    End Property
     
    Property Let nombre_eleves(quel_nombre)
    End Property
     
    Property Let nombre_pairs(quel_nombre)
    End Property
     
    Property Let List_maitres(nom_maitre)
    End Property
     
    Property Let List_eleves(nom_eleve)
    End Property
     
    Property Let List_pairs(nom_pair)
    End Property
    Property Let indice_generation(nombre)
     
    End Property
    J'ai préféré utiliser des Colletions plutôt que des tableaux.
    je ne suis pas encore au clair avec la paire Property Let / Property Get.
    Merci de ton soutien.
    Cordialement
    Pierre
    There is always an easy solution to every human problem - neat, plausible. And wrong.
      0  1

Discussions similaires

  1. [XL-2007] Création arborescence dossiers et création de fichiers
    Par raneelbe dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 25/01/2019, 17h44
  2. [XL-2010] Arborescence VBA Excel
    Par Xiirf dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/05/2017, 23h21
  3. Réponses: 0
    Dernier message: 13/06/2014, 21h05
  4. [VBA EXCEL] Réduire/Agrandir UserForms
    Par Fench dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/11/2003, 16h02
  5. [VBA Excel] Effacer rapidement une feuille
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/10/2002, 13h12

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