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 :

"Combiner" deux ListBox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Par défaut "Combiner" deux ListBox
    Bonjour,

    J'aurai besoin de votre aide concernant mon projet de stage. J'ai crée un formulaire en utilisant du code VBA pour faciliter les commandes de l'entreprise ( voir screen numéroté 1 ). Comme vous pouvez le voir, il y a des Options, des Quincailleries ainsi que des Epaisseurs/Largeurs faisant référence aux planches utilisées.

    Au début, je voulais faire en sorte que l'utilisateur sélectionne tout ce dont il a besoin, et qu'en cliquant sur "Ajouter" tout ce qui a été rempli aille directement dans un tableau Excel > cela fonctionne il n'y a pas de soucis.

    Cependant, mon maître de stage m'a demandé à ce que, par exemple lorsqu'on sélectionne "Garage 3m", toutes les planches requises soient automatiquement sélectionnées au lieu de devoir les cocher une par une > c'est la que ça bloque, cela fait plusieurs jours que je suis bloqué la dessus.

    Et dans mon idée, j'aurai bien aimé que les calculs du prix total se fassent automatiquement pour encore une fois faire gagner du temps. ( Le prix total se calcule en faisant épaisseur x largeur x longueur x quantité x prix au m2 )

    Je peux vous envoyez par mail mon travail ( ne sachant pas comment le joindre ici, je suis nouveau )
    - la feuille "Source" correspondant au tableau où toutes les données seront placées après avoir cliqué sur le bouton "Ajouter",
    - la deuxième feuille correspond aux différentes maisons que je dois gérer, avec chacune leurs Options et Quincailleries nécessaires
    - La feuille "Liste" sert juste à alimenter mes ListBox placées dans mon formulaire
    - La dernière feuille sert juste à afficher le formulaire à l'aide d'un bouton

    Je vous remercie de votre aide, si vous avez une éventuelle question sur quelque chose que vous n'avez pas compris, je serais en mesure d'y répondre.
    Images attachées Images attachées  

  2. #2
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Bonjour, il faudrait une copie d'écran de la feuille liste, car j'imagine que c'est sur elle que se trouve les données qui permettent la charges des listbox.
    si vous souhaitez joindre un dossier à votre réponse, vous avez à cet effet en dessous de la feuille de réponse des options supplémentaires dont les pièces jointes, que vous avez du utiliser pour votre "screen1". vous pouvez joindre aussi un dossier.
    Cordialement

  3. #3
    Membre très actif Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Par défaut
    bonjour hidessj

    déjà pour que envoyer tes données dans une base en cliquant sur Ajouter
    tu peux mettre se code là dans le bouton Ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Private Sub Ajouter_Click()
    Sheets("base").Range("A1").End(xlDown).Offset(0, 0).Value = TextBox1.Value
    'et ainsi de suite avec tous tes textbox etc ...
     
    End Sub
    EDIT j'ai lu vite fais
    pour faire ce que tu demande fait une condition
    dans ta forme ou son contenu garage 3m

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    If (textbox1.Value = "garage m3") Then
     
    ' tu selectionne tes bonne planche
    End If
    en espèrent avoir bien compris

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Par défaut
    Bonjour Transitoire,

    Dans un premier temps, merci de ta réponse. En effet, je te mets en PJ mon formulaire comprenant mes Listes et le reste de mon travail

    Cordialement.
    Fichiers attachés Fichiers attachés

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Par défaut
    Bonjour Tony76,

    Pour le bouton Ajouter j'arrive bien à faire en sorte que tout se place dans le tableau donc aucun soucis là dessus ! ( Par contre je t'avoue que je me demande comment faire une fois que j'aurai réussi à mettre en place ce que je veux, par exemple lorsque quand je sélectionnerai "Garage 3m" que ce soit les planches associées qui se mettent directement dans le tableau, et non pas la désignation "Garage 3m" )

    Je regarde cependant pour ta dernière proposition avec le "If", merci beaucoup !

    Cordialement.

  6. #6
    Membre très actif Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Par défaut
    Re,

    Pour ce que tu veux faire en faite je tes donné la réponse involontairement

    la condition et dedans ce que tu veux,
    dans ta forme " Options " tu mes la condition si on clique sur garage 3m ou 4m ou 6m etc ....
    et pour aller plus loin tu peux mettre plusieurs conditions pour les autres je te laisse arranger les textbox et les offset

    et tu peux faire une boucle pour que cela soit plus joli

    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
     
    If (TextBox1.Value = "garage 3m") Then
     
        Sheets("base").Range("A1").End(xlDown).Offset(0, 0).Value = TextBox1.Value 'Options
        Sheets("base").Range("A1").End(xlDown).Offset(0, 1).Value = TextBox2.Value 'Désignation
        Sheets("base").Range("A1").End(xlDown).Offset(0, 2).Value = TextBox3.Value 'Epaisseurs/largeurs
        Sheets("base").Range("A1").End(xlDown).Offset(0, 3).Value = TextBox3.Value 'Longeur etc ......
     
        MsgBox ("Enregistrement effectué pour le garage 3m")
     
    ElseIf (TextBox1.Value = "garage 4m") Then
     
        Sheets("base").Range("A1").End(xlDown).Offset(0, 0).Value = TextBox1.Value 'Options
        Sheets("base").Range("A1").End(xlDown).Offset(0, 1).Value = TextBox2.Value 'Désignation
        Sheets("base").Range("A1").End(xlDown).Offset(0, 2).Value = TextBox3.Value 'Epaisseurs/largeurs
        Sheets("base").Range("A1").End(xlDown).Offset(0, 3).Value = TextBox3.Value 'Longeur etc ......
     
    ElseIf (TextBox1.Value = "garage 6m") Then
     
        Sheets("base").Range("A1").End(xlDown).Offset(0, 0).Value = TextBox1.Value 'Options
        Sheets("base").Range("A1").End(xlDown).Offset(0, 1).Value = TextBox2.Value 'Désignation
        Sheets("base").Range("A1").End(xlDown).Offset(0, 2).Value = TextBox3.Value 'Epaisseurs/largeurs
        Sheets("base").Range("A1").End(xlDown).Offset(0, 3).Value = TextBox3.Value 'Longeur etc ......
     
    End If

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