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 :

Comment creer un formulaire à l'aide de case d'option et entrainant différentes solutions [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 22
    Par défaut Comment creer un formulaire à l'aide de case d'option et entrainant différentes solutions
    Bonjour,

    je souhaite creer un formulaire utilisant des cases d'options (rond avec point noir) et permettant suivant notre choix un message texte dans une autre case.

    Mon problème:
    je n'arrive pas à creer de "séparation" entre les différentes lignes, à savoir que je n'ai qu'une "option" ou plus vulgairement "un point noir" pour l'ensemble de mes lignes et questions.
    Comment faire pour résoudre se problème ( qui n'en est sans doute pas un)

    D'autre part je souhaiterai, suivant l'option cochée, avec un message qui s'affiche (en sachant que suivant la ligne, les messages vont différer) et pour finir, suivant le message qui va s'afficher, un autre message s'affichera dans une autre case.

    mon tableau fera apparaitre comme "option" : oui, non, sans objet
    comme conséquence directe : un élément de réglementation
    comme conséquence sous jacente : une préconisation

    En pièce jointe mon formulaire, pour mieux expliquer mon problème

    Merci
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éprouvé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2010
    Messages : 120
    Par défaut
    Salut,

    En PJ une proposition pour traiter ton problème à l'aide de contrôles activeX (et donc un tout petit peu de code derrière mais rien de très méchant).

    Le principe :
    dans les différentes cellules de choix d'option j'ai mis des boutons radio (les fameux ronds avec point noir) => les 3 contrôles de chaque ligne ont le même groupe dans leur propriétés (GroupName) de manière à ce que quand tu coches 'OUI' ça décoche 'NON' ou 'Sans objet' mais sans interférer avec les options des autres lignes.
    Derrière chaque bouton, 2 lignes de code pour insérer tes messages dans les cellules des colonnes règlementation et préconisation.

    Dans le fichier joint je n'ai fait que les 2 premières lignes pour que tu puisses voir comment ça marche et qu tu valides ou non le principe. J'ai mis le fichier au format xls juste pour pouvoir le mettre en PJ plus facilement, ça marche également en format 2010 (xlsm car il y a du code).

    Pour en savoir plus sur l'utilisation des contrôles :
    http://silkyroad.developpez.com/VBA/ControlesUserForm/

    Fais un retour quand tu as regardé
    Fichiers attachés Fichiers attachés

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 22
    Par défaut
    trés bien, je vois le principe

    Par contre cela sera t il possible de le passer sur Open office derrière?
    Merci beaucoup

    j'aurais une autre petite question

    comment, à partir d'élément dans une liste déroulante on peut avoir une autre liste déroulante dans une autre case?

    C'est à dire que si pour ma première liste déroulante j'ai I
    II
    III
    je selectionne l'un des trois et dans une autre case j'ai une autre liste déroulante

    je mets en lien mon fichier, qui est le meme que précédement mais dans les "Feuil1" et "Feuil2"
    Fichiers attachés Fichiers attachés

  4. #4
    Membre éprouvé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2010
    Messages : 120
    Par défaut
    Salut,

    pour OpenOffice, je ne saurais pas te dire car je ne l'utilise pas et j'ignore tout de ce qui se fait en matière de compatibilité avec Excel.

    Pour ta question sur les combobox :

    Principe : utiliser une procédure évenementielle à chaque changement de valeur de ta combobox1 pour redéfinir la plage source de la combobox2 en fonction de cette valeur (propriété ListFillRange de type string).

    Pour l'illustration, regarde le fichier en PJ : j'ai du modifier un peu ta feuille car seule des plages en colonne sont acceptées par les contrôles insérés dans une feuille de calcul => j'ai transposé tes données en colonne.
    Fichiers attachés Fichiers attachés

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 22
    Par défaut
    Merci

    je suis désolé je vais paraitre vraiment nul, mais je ne comprend pas comment vous faites pour faire la selection des cases de la première comboBox?

    et du coup, dans le même style, est il possible que les valeurs qui apparaissent dans la combobox soient sur une autre feuille?

    et j'aurai encore une question si c'est possible:

    quand on clique sur une CheckBox, qu'une action se déroule sur une autre feuille?
    A savoir, dans le meme cas que précedement, on clique quand on veux retenir une "non conformité" dans la "table1" et les phrases qui apparaissaient dans la partie préconisations de la feuille "table 1" apparaissent dans la feuille "feuil1" dans une case séléctionnée.

    du coup j'ai tenté avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CheckBox1_Click()
    Range("Feuil1!C3") = "Message pour réglementation option OUI"
    End Sub
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(checkbox1_click;H3='Table 1'!H3)
    mais je n'y arrive pas

    pouvez vous m'aider de nouveau

  6. #6
    Membre éprouvé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2010
    Messages : 120
    Par défaut
    Re,

    1) Sélection des données sources pour la combobox :
    Il suffit de préciser la plage source (une seule colonne autorisée) dans la propriété ListFillRange de la combobox.
    Si tu souhaites faire apparaître dans la combobox des données stockées sur une feuille différente de celle où est placée ta combobox, il suffit de préciser la feuille avant la plage.
    Exemple pour la combobox1 de ton fichier avec les données stockées sur une nouvelle feuille : ListFillRange aura la valeur Feuil3!B6:B11

    2) Reporter les données d'une feuille à une autre lors du clic sur une checkbox
    Tu as fait une faute dans ton code, en VBA les objets sont encapsulés les uns dans les autres. Par exemple : une feuille Excel est rattachée à un classeur Excel qui est lui même rattaché à l'application Excel.
    Voici le code corrigé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CheckBox1_click()
     
    If CheckBox1 = True Then
        'si la case est cochée on met le message dans la cellule
        Sheets("Feuil3").Range("H3") = Sheets("Table1").Range("H3")
    Else
        'si la case est décochée on vide le contenu de la cellule
        Sheets("Feuil3").Range("H3") = ""
    End If
     
    End Sub

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/08/2007, 21h22
  2. Comment creer un formulaire en mode continu?
    Par fafaf dans le forum IHM
    Réponses: 2
    Dernier message: 16/03/2007, 13h41
  3. Comment Creer Un Formulaire Dynamique
    Par vladock dans le forum Langage
    Réponses: 1
    Dernier message: 14/09/2006, 21h53
  4. Comment Creer Un Formulaire Dynamique
    Par vladock dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 14/09/2006, 19h25
  5. Comment creer un choix multiple avec des cases a cocher ??
    Par pedrosystem dans le forum Access
    Réponses: 5
    Dernier message: 09/03/2006, 10h36

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