1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

DEMANDE créer un code permettant d'utiliser une combo-liste déroulante (pré-remplie avec des éléments comme

Discussion dans 'Windev' créé par Nab, Août 13, 2026.

  1. Nab

    Nab Active Member

    Inscrit:
    Mai 9, 2019
    Messages:
    263
    J'aime reçus:
    60
    Bonjour à tous,

    Quelqu'un pourrait-il m'aider à créer un code permettant d'utiliser une combo-liste déroulante (pré-remplie avec des éléments comme A, B, C, D, etc.) pour créer des volets dans mon onglet principal ?

    Les utilisateurs pourront sélectionner et confirmer ces éléments comme ( A, B, C, D, etc.),
    Et les noms des volets dans mon onglet principal correspondants s'afficheront en fonction de ma combo-liste déroulante.

    Cordialement
     
    Tags:
  2. Dandypunk

    Dandypunk Well-Known Member

    Inscrit:
    Nov 28, 2019
    Messages:
    662
    J'aime reçus:
    380
    Bonjour,
    Tu as déjà un bon début.
    Tu veux, suite à la sélection d'un type de volet, le créer dynamiquement.
    La réponse était dans la question.
    Je ne peux pas te donner le n° de page du manuel, nous n'avons certainement pas la même version de WD. Qui plus est mon manuel a été annoté, repaginé au fur et à mesure des versions.
     
    #2 Dandypunk, Août 14, 2026, à 1:55 PM
    Dernière édition: Août 14, 2026, à 2:14 PM
    Gemini1961 et Isabelle aiment ça.
  3. Nab

    Nab Active Member

    Inscrit:
    Mai 9, 2019
    Messages:
    263
    J'aime reçus:
    60

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour,
    Tu as déjà un bon début.
    Tu veux, suite à la sélection d'un type de volet, le créer dynamiquement.
    La réponse était dans la question.
    Je ne peux pas te donner le n° de page du manuel, nous n'avons certainement pas la même version de WD. Qui plus est mon manuel a été annoté, repaginé au fur et à mesure des versions.
    Cliquez pour agrandir...
    Bonjour,

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Merci de l'intérêt que vous portez à ma demande !
    Je souhaite alimenter ma combo-liste déroulante à l'aide de trois boutons (Ajouter, Modifier, Supprimer) pour gérer les éléments qui constituent une base de données intégrée à l'analyse.

    Ensuite, je souhaite pouvoir sélectionner et confirmer ces éléments dans ma combo-liste déroulante afin que des volets correspondants puissent se créer automatiquement et se générer dans mon onglet principal, portant le même nom que les éléments de cette base de données interne.

    Cordialement,
    .
     
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    3,146
    J'aime reçus:
    1,696
    Salut
    Si tu es en windev avant la 26
    Il est préférable d'utiliser le champ onglets dynamique et il existe un exemple fourni pour ça
    WD Multi-Fenetrage
    Ou sinon utiliser la fonction champ clone
    Après la 26 tu peux renommer plus facilement les onglets
    Tu as les propriétés alias et libellé qui te seront utiles sur les volets
    Bien lire les commentaires indiquer dans l'aide en ligne
     
  • Nab

    Nab Active Member

    Inscrit:
    Mai 9, 2019
    Messages:
    263
    J'aime reçus:
    60

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Salut
    Si tu es en windev avant la 26
    Il est préférable d'utiliser le champ onglets dynamique et il existe un exemple fourni pour ça
    WD Multi-Fenetrage
    Ou sinon utiliser la fonction champ clone
    Après la 26 tu peux renommer plus facilement les onglets
    Tu as les propriétés alias et libellé qui te seront utiles sur les volets
    Bien lire les commentaires indiquer dans l'aide en ligne
    Cliquez pour agrandir...
    Bonjour,

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Merci de l'intérêt que vous portez à ma demande !
    Le WD Multi-Fenêtrage, je l'ai analysé ; il ne gère que les fenêtres.
    Pour déclencher les volets d'onglets, cela me paraît très compliqué pour ça !
    Par contre, le rôle de la zone de la combo de liste déroulante est intéressant pour actionner les fenêtres.
    Merci pour ton aide.
     
  • Dandypunk

    Dandypunk Well-Known Member

    Inscrit:
    Nov 28, 2019
    Messages:
    662
    J'aime reçus:
    380

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Ensuite, je souhaite pouvoir sélectionner et confirmer ces éléments dans ma combo-liste déroulante afin que des volets correspondants puissent se créer automatiquement et se générer dans mon onglet principal, portant le même nom que les éléments de cette base de données interne
    Cliquez pour agrandir...
    Ça j'avais compris. Je t'ai même donné une piste concernant les onglets dynamiques. Il suffit, en lisant le manuel de trouver la bonne fonction.
    Pour la combo, c'est une alimentation classique avec un renvoi de PK.
    En codant avec le cul, créer un nouveau volet oàbeissant à tes règles, c'est 2 lignes
     
    Isabelle apprécie ceci.
  • Nab

    Nab Active Member

    Inscrit:
    Mai 9, 2019
    Messages:
    263
    J'aime reçus:
    60

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Ça j'avais compris. Je t'ai même donné une piste concernant les onglets dynamiques. Il suffit, en lisant le manuel de trouver la bonne fonction.
    Pour la combo, c'est une alimentation classique avec un renvoi de PK.
    En codant avec le cul, créer un nouveau volet oàbeissant à tes règles, c'est 2 lignes
    Cliquez pour agrandir...
    Bonjour,

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Les risques d'un code bâclé
    • Zéro sécurité : Les failles passent partout.
    • Maintenance impossible : Personne d'autre ne comprend le code.
    • Pannes fréquentes : Le moindre changement bloque tout.
    • Dette technique : Il faut tout réécrire après.
    Pourquoi il faut éviter
    • La vitesse initiale cache les problèmes futurs.
    • Le coût de correction est plus grand plus tard.
    • La qualité compte autant que le résultat final.
     
  • Dandypunk

    Dandypunk Well-Known Member

    Inscrit:
    Nov 28, 2019
    Messages:
    662
    J'aime reçus:
    380
    Lol.
    Ce que tu me dit assis, je pourrais te le dire debout.
    Je voulais simplement te faire remarquer que ton problème pouvait se résoudre rapidement et simplement
    Pendant ce temps tu aurais pu lire la doc et écrire ton code. Et je répète, ce que tu demandes tient en 2 lignes, hors les CAS ERREUR/CAS EXCEPTION.
     
    #8 Dandypunk, Août 16, 2026, à 1:50 AM
    Dernière édition: Août 16, 2026, à 2:12 AM
    WX1331, Isabelle et Gemini1961 aiment ça.
  • Nab

    Nab Active Member

    Inscrit:
    Mai 9, 2019
    Messages:
    263
    J'aime reçus:
    60

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Lol.
    Ce que tu me dit assis, je pourrais te le dire debout.
    Je voulais simplement te faire remarquer que ton problème pouvait se résoudre rapidement et simplement
    Pendant ce temps tu aurais pu lire la doc et écrire ton code. Et je répète, ce que tu demandes tient en 2 lignes, hors les CAS ERREUR/CAS EXCEPTION.
    Cliquez pour agrandir...
    Bonjour,

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Ne prenez pas mal ma blague à ce sujet : je plaisante !
    Les choses se compliquent lorsque la solution semble simple !
    La question est directe : existe-t-il une solution de codage permettant, en cliquant sur des éléments d'un « combo lite » pré configuré (comme Élément A, Élément B, Élément C, Élément D, etc.),
    de contrôler l'ouverture et la création des volets de mon onglet principal, portant exactement les mêmes noms de libellé des éléments de la « combo lite » pré configuré ?
    Cordialement.

    Voici le code windev généré par l'IA pour créer dynamiquement des volets d'onglet selon l'élément
    sélectionné dans une combo.

    Code de l'événement « Sélection d'une ligne » de la Combo
    Placez ce code dans l'événement "Sélection d'une ligne de [NomDeVotreCombo]" :
    windev
    // 1. Récupérer la valeur sélectionnée dans la combo
    sValeurSelectionnee est une chaîne = MoiMême[MoiMême]
    // Sécurité : vérifier qu'un élément est bien sélectionné
    SI sValeurSelectionnee = "" ALORS RETOUR
    // 2. Définir un nom logique unique pour le nouveau volet
    sNomVolet est une chaîne = "Volet_" + sValeurSelectionnee
    // 3. Vérifier si le volet existe déjà pour éviter les doublons
    // Remplacer 'ONG_Principal' par le nom de votre champ Onglet
    SI ChampExiste("ONG_Principal." + sNomVolet) ALORS
    // Si le volet existe, on l'active simplement
    ONG_Principal = OngletCherche(ONG_Principal, sNomVolet)
    RETOUR
    FIN
    // 4. Créer le nouveau volet dynamiquement
    // Syntaxe : OngletAjoute(<NomOnglet>, <Libellé>, <NomLogique>)
    OngletAjoute(ONG_Principal, sValeurSelectionnee, sNomVolet)
    // 5. Positionner l'utilisateur sur le volet fraîchement créé
    ONG_Principal = OngletCherche(ONG_Principal, sNomVolet)

    Options de configuration du champ Onglet
    Pour que ce code fonctionne de manière optimale, configurez votre champ Onglet ainsi :
    Nom du champ : Assurez-vous qu'il s'appelle ONG_Principal (ou adaptez le code).
    Mode de mémorisation : Dans la description de la Combo, vérifiez que le retour de la
    saisie est bien configuré sur "Valeur mémorisée" ou "Valeur affichée" pour récupérer
    correctement "A", "B" ou "C".

    Constat âpres avoir essayer c'est que les fonctions (OngletCherche ) et (OngletAjoute) n’existe pas dans windev !
     
    #9 Nab, Août 16, 2026, à 6:27 PM
    Dernière édition: Août 16, 2026, à 6:38 PM
  • Dandypunk

    Dandypunk Well-Known Member

    Inscrit:
    Nov 28, 2019
    Messages:
    662
    J'aime reçus:
    380

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Constat âpres avoir essayer c'est que les fonctions (OngletCherche ) et (OngletAjoute) n’existe pas dans windev !
    Cliquez pour agrandir...
    Constat, s'il fallait me convaincre, la programmation WL par IA c'est de la merde. Par ailleurs la gestion des erreurs est très légère.
    As tu lu la doc concernant les onglets dynamique ? Tu aurais gagné un temps fou.

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Je souhaite alimenter ma combo-liste déroulante à l'aide de trois boutons (Ajouter, Modifier, Supprimer) pour gérer les éléments qui constituent une base de données intégrée à l'analyse.
    Cliquez pour agrandir...
    Par ailleurs, intégrer les données concernat tes réglages (liste des types) dans ton MLD est une erreur de conception fondamentale, au même titre qu'intégrer le données météo.
    Tout ce qui concerne les réglages doit être traité dans une nouvelle fenêtre et mémorisé ailleurs. Les réglages des champs son mémorisé dans la BDR ...
     
    Isabelle apprécie ceci.
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    3,146
    J'aime reçus:
    1,696
    Salut
    Franchement

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , tu es décevant
    Demander à l'IA pour si peu
    Juste lire la doc et tu as la réponse
    Il m'as fallut 2 minutes pour trouver l'info
    Mais il est hors de question de fournir un code
     
    Isabelle apprécie ceci.
  • Dandypunk

    Dandypunk Well-Known Member

    Inscrit:
    Nov 28, 2019
    Messages:
    662
    J'aime reçus:
    380

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Mais il est hors de question de fournir un code
    Cliquez pour agrandir...
    J'ai l'impression que tout ceux qui un jour ou l'autre ont lu la doc ont ce code.
    En fait, le moins simple est la gestion des types
     
    Isabelle apprécie ceci.
  • Nab

    Nab Active Member

    Inscrit:
    Mai 9, 2019
    Messages:
    263
    J'aime reçus:
    60

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    J'ai l'impression que tout ceux qui un jour ou l'autre ont lu la doc ont ce code.
    En fait, le moins simple est la gestion des types
    Cliquez pour agrandir...
    Bonjour,

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    C'est un super projet !
    Un mois d'août consacré aux boîtes combinées (combobox) et aux volets à onglets (tab controls) est une excellente idée pour progresser en développement d'interface utilisateur, que ce soit en VBA/Excel, C#, Access ou en web !
    Merci a vous tous

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  • Dandypunk

    Dandypunk Well-Known Member

    Inscrit:
    Nov 28, 2019
    Messages:
    662
    J'aime reçus:
    380
    Un petit retour de ce que tu as créé pourrait être utile à ceux qui ont un problème similaire. C'est aussi (surtout) cela le but d'un forum.
     
    Isabelle et Gemini1961 aiment ça.
  • Nab

    Nab Active Member

    Inscrit:
    Mai 9, 2019
    Messages:
    263
    J'aime reçus:
    60

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Un petit retour de ce que tu as créé pourrait être utile à ceux qui ont un problème similaire. C'est aussi (surtout) cela le but d'un forum.
    Cliquez pour agrandir...
    Bonjour,

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Je suis ravi de partager ceci ;
    je ne suis pas du genre à me replier sur moi-même, mais plutôt toujours ouvert à apprendre des autres.
    Voici le code qui m'a permis de résoudre le problème avec un résultat satisfaisant !

    Code WLangage pour l'événement "Sélection d'une ligne" du Combo
    wlangage
    // 1. Récupérer l'élément sélectionné ou sa valeur mémorisée
    sNomVolet est une chaîne = COMBO_MonCombo // ou gValeurMémorisée(COMBO_MonCombo)
    // Si aucun élément n'est sélectionné, on sort
    SI sNomVolet = "" ALORS RETOUR
    // 2. Vérifier si le volet d'onglet existe déjà
    iIndice est un entier = 1
    bTrouve est un booléen = Faux
    TANTQUE iIndice <= ONG_MonOnglet..Occurrence
    SI ONG_MonOnglet[iIndice]..Libellé = sNomVolet ALORS
    bTrouve = Vrai
    SORTIR
    FIN
    iIndice++
    FIN
    // 3. Si le volet existe, on le sélectionne
    SI bTrouve ALORS
    ONG_MonOnglet = iIndice // Active le volet existant
    SINON
    // 4. Sinon, on crée le volet d'onglet dynamiquement
    // (Exemple avec un onglet dynamique ou ajout de volet)
    // Syntaxe d'ajout d'un volet : OngletOuvre ou gestion dynamique
    OuvreFille(FEN_Interne_Modele, sNomVolet) // Adaptez selon votre logique de créat
    // Si vous utilisez un onglet dynamique avec une fenêtre interne :
    OngletOuvre(ONG_MonOnglet, sNomVolet, FEN_Interne_Modele, sNomVolet)
    FIN
    Points clés de mise en œuvre
     
  • Dandypunk

    Dandypunk Well-Known Member

    Inscrit:
    Nov 28, 2019
    Messages:
    662
    J'aime reçus:
    380
    [

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    // Si aucun élément n'est sélectionné, on sort
    SI sNomVolet = "" ALORS RETOUR
    Cliquez pour agrandir...
    Si aucune valeur da la combo n'est sélectionnée "Sélection d'une ligne" ne s'exécute pas donc on ne passe pas par ce code

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    SI ONG_MonOnglet[iIndice]..Libellé = sNomVolet ALORS
    Cliquez pour agrandir...
    Tu es sur de la syntaxe pour un onglet dynamique ?

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Code (Windev):

    Indice est un entier = 1
    bTrouve est un booléen = Faux
    TANTQUE iIndice <= ONG_MonOnglet..

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    SI ONG_MonOnglet[iIndice]..Libellé = sNomVolet ALORS
    bTrouve = Vrai
    SORTIR
    FIN
    iIndice++
    FIN
     
    Cliquez pour agrandir...
    EnumèreSousElément est quand même plus simple

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ONG_MonOnglet = iIndice // Active le volet existan
    Cliquez pour agrandir...
    Tu es sur de la syntaxe pour un onglet dynamique ?

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    OuvreFille(FEN_Interne_Modele, sNomVolet)
    Cliquez pour agrandir...
    Bien vu l'ouverture d'une fenêtre interne avec Ouvre/OuvreFille
    Quand bien même la syntaxe serait correcte, OuvreFille ouvre une nouvelle fenêtre (non modale) et en aucun cas un volet dynamique.

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    OngletOuvre(ONG_MonOnglet, sNomVolet, FEN_Interne_Modele, sNomVolet)
    Cliquez pour agrandir...
    Que fait FEN_Interne_Modele de sNomVolet?
     
    #16 Dandypunk, Août 19, 2026, à 9:25 AM
    Dernière édition: Août 19, 2026, à 9:48 AM
  • Dandypunk

    Dandypunk Well-Known Member

    Inscrit:
    Nov 28, 2019
    Messages:
    662
    J'aime reçus:
    380
    Que tu utilise l'IA pour coder 2 lignes, c'est ton choix. Mais que tu postes du code (qui plus est non balisé,) sans avoir testé s'il était syntaxiquement correct, c'est une autre histoire.
    Je passerai sur les faits
    -que tu laisses passer des erreurs "Logique" (Code mort lors du contrôle de validité des paramètres.)
    -tu fais entièrement confiance à l'IA lorsqu'elle te propose des solution alambiquées (c'est d'ailleurs (malheureusement,) la seule partie du code qui tourne.)
    -tu ne contrôles pas les déclarations, ni les affectations. Même si les déclaration au fil de l'au sont autorisées, il est préférable de déclarer en tête de code. Les déclarations au fil de l'eau donnent l'impression d'un code non pensé. En ce qui concerne les affectations, il est préférable de les séparer des déclarations et d'éviter une première affectation avec la valeur par défaut. (bool est faux par défaut)

    Pour me paraphraser, lorsque l'on génère un code (et particulièrement un code WL) avec de l'IA:
    Il y a surement plus simple et ça ne tourne pas.

    Pour générer un code un tant soit peu solide, il faut blinder son prompt.
    Ne suffit pas.
    Il faut au minimum mettre la référence des docs, (ici Onglets dynamiques, Fenêtre Interne ...) et relire la production.
     
    #17 Dandypunk, Août 19, 2026, à 7:16 PM
    Dernière édition: Août 19, 2026, à 7:25 PM
    Isabelle et Gemini1961 aiment ça.
  • Partager cette page

    Chargement...