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 :

Création d'une mini-application


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Création d'une mini-application
    Bonjour à tous,

    Je suis en école d'ingénieur en Economie de la Construction, et pour mon projet d'entreprise je dois créer une mini-application qui devra fonctionner. Comme vous pouvez le constater ma formation ne m'a pas permis d'aborder le langage VBA, c'est donc pour cela que je vous sollicite sur ce point.

    Objectif:
    Choisir un isolant selon un certain type de solutions

    Résultat:
    Tout d'abord, cette mini application consistera à ressortir sur une fiche, les informations suivantes:
    - type d'opération,
    - type de performance pour l'isolation des parois opaques,
    - type de solutions,
    - PVHT au m² de la solution
    - choix du produit en fonction du type d'isolant préconisé dans la solution.

    Base données à utiliser:
    - Composition de la solution:
    * Support (BBM, béton, brique, ...)
    * Isolant (laine de verre, laine végétale, polystyrène, ...)
    * Parement Intérieur (BA 13, enduit mortier, ...)
    * Parement extérieur (enduit monocouche, ...)

    - Noms de produits isolants par Fabricant

    Nota: Ces données devront comportées son Prix et sa Conductivité thermique.

    - Contraintes des performances à atteindre (RT 2005, HPE, THPE, BBC)

    Pour plus de détails, je peux vous envoyer par mail, un diagramme beaucoup plus explicite, car j'aimerais pour obtenir mon résultat que les utilisateurs remplissent un formulaire.

    Je compte sur vous, car pour le moment je suis bloquée pour pouvoir remplir la "listBox".

  2. #2
    Membre confirmé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Points : 551
    Points
    551
    Par défaut
    Bonjour et bienvenu sur le forum,

    Comme tu dois t'en douter ici on ne va pas te faire toute ton application, par contre si tu as un problème précis on te répondra avec plaisir.

    Tu nous dis que tu as un problème de remplissage de ta listbox,
    Peux-tu nous donner la portion de code qui pose problème ?

    Pour remplir un listbox va voir "additem" dans l'aide pour commencer.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    C'est clair, je ne demande pas qu'on le fasse toute l'application pour moi, car j'aimerais apprendre à utiliser le VBA pour plus tard.

    Sinon pour le additem, j'ai essayer, et ça ne fonctionne pas....

    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
    Dim EntryCount As Single
     
    Private Sub CommandButton1_Click()
        EntryCount = EntryCount + 1
        ListBox1.AddItem (EntryCount & " - Selection")
    End Sub
    Private Sub CommandButton2_Click()
        'Ensure ListBox contains list items
        If ListBox1.ListCount >= 1 Then
            'If no selection, choose last list item.
            If ListBox1.ListIndex = -1 Then
                ListBox1.ListIndex = _
                        ListBox1.ListCount - 1
            End If
            ListBox1.RemoveItem (ListBox1.ListIndex)
        End If
    End Sub
    Private Sub UserForm_Initialize()
        EntryCount = 0
        CommandButton1.Caption = "Add Item"
        CommandButton2.Caption = "Remove Item"
    End Sub
    Voici ce que l'aide me propose, mais je vois pas où mettre les données que je veux voir apparaitre dans ma listbox.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 92
    Points : 58
    Points
    58
    Par défaut
    il suffit de créer ta liste dans un tableau excel (par exemple, dans la colonne A) et dans les propriétés de ta listebox, tu as un champs intitulé : RowSource
    Il te suffit d'entrer les coordonnées de tes lignes : A1:A10 si tu as 10 lignes....

    si tu ne veux pas que ces lignes apparaissent ou qu'elles te gènent, mets en colonne AA et tu les surlignes en blanc pour qu'elles restent invisibles.

  5. #5
    Membre confirmé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Points : 551
    Points
    551
    Par défaut
    Pour plus de lisibilité utilise les balises CODE ##

    Comme le dit TaleMaker, il faut utiliser un tableau excel, personnellement si les utilisateur n'ont pas à voir ce tableau, j'utilise une feuille "variable" avec la propriété "visible" de la feuille à "xl_sheetHidden" pour la cacher.

    Avec tes données sur cette feuille si tu les utilise toutes tu peux effectivement utiliser mais si tu ne veux en piquer que quelques une via une condition, mieux vaut utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listbox.additem (feuil1.cells(i,j))
    Va voir aussi ICI pour un tuto sur les listbox

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup,

    Finalement, c'est pas si compliqué ...
    Est ce que vous connaissez un tuto ?

  7. #7
    Membre confirmé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Points : 551
    Points
    551
    Par défaut
    Celui-ci est très bien pour commencer sur les controles de manière général.

    Et ICI pour les listbox

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 124
    Points : 80
    Points
    80
    Par défaut
    Des réponses en vrac .

    Déjà cherche bien sur la toile des exemples en .xls .
    9 chances sur 10 que ton projet a déja été traitée .

    Avec un peu de chance un application excel concernant le batiment .

    Ensuite manipulée au maximum excel ,Coder le moins possible en vba au début .
    Je pense qu'une simple programmation des cellules d'excel devrait defricher une grosse partie de ton projet . Il faudra sortir le vba uniquement lorsque tu ne pourras plus faire autrement …

    Pour la présentation souvent il faudra enlever le quadrillage d'excel

    Imprimer avec ou sans quadrillage des cellules
    Cliquez sur la feuille de calcul.
    Dans le menu Fichier, cliquez sur Mise en page, puis sur l'onglet Feuille.
    Activez ou désactivez la case à cocher Quadrillage.
    Cliquez sur Étendue.
    Remarque Les feuilles de calcul sont imprimées plus rapidement si vous les imprimez sans quadrillage.
    Pour ta base de donnée consacre un voir 2 onglet ou plus avec tous les chiffres , tous les prix .Si tu as des docs papiers scannes-les et fait de la numérisation de documents pour éviter d’avoir à remplir ta base de donnée à la main . .


    Sort les 2 barres d’outils suivantes :

    Menu /outils /personaliser
    Et cocher « boite à outils controls » (amuses –toi à dessiner) un bouton sur une feuille excel .

    Meme punition avec l’editeur Visual Basic , il y a un bouton « ajouter userform » en haut à gauche .Ajouter un bouton « CommandButton1 » renommé en « Ok » et un listbox .(comboBox + adéquat ?)

    Double cliquer ensuite sur le bouton « Ok » fraichement dessiné et y inserer le code

    UserForm1.ListBox1.AddItem "Support"
    UserForm1.ListBox1.AddItem "Parement"
    UserForm1.ListBox1.AddItem "Laine de verre"

    Appuyer de nouveau sur le bouton « Ok » ça devrait charger la listeBox sur la Userform


    Pour éviter de s’embarquer trop dans le vba

    On peut faire dans excel

    1/selectionner une cellule
    2/Clic droit « créer un liste »

    Ou pour créer un menu déroulant
    1/Menu Données /validation / choisir « liste »
    2/Appuyer sur le bouton correspondant à source et sectionner une plage
    Plage contenant dans chaques cellules

    "Support"
    "Parement"
    "Laine de verre »

    Autre conseil : définir des plages de cellules en faisant Menu insertion/Nom/définir
    Ensuite connaissant le nom de la plage il est souvent plus aisé de les appeler par le nom dans une portion de code et de boucler dessus .

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 92
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par girl97224 Voir le message
    Est ce que vous connaissez un tuto ?
    essaie aussi celui-là, il est super bien foutu....

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Juste une question,

    Dans mon formulaire, j'ai intégré 4 ListBox, et j'aimerais intégrés 4 types de données qui se trouvent dans 4 type d'OBJETS différentes dans chacunes d'elles; car pour le moment j'ai les mêmes données dans mes 4 LisBox.

    Comment dois-je faire ?

    Dois-je intégré toutes mes données dans un seul et même objet?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 92
    Points : 58
    Points
    58
    Par défaut
    Il suffit de définir 4 listes, et de les attribuer à chaque listBox
    A1:A10, B1:B10 etc.

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bin j'ai défini les 4 list. Mais automatiquement, elle n'en retient qu'une seule.
    Sinon les 4 list, elles sont défini comment ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/04/2015, 20h19
  2. Ai-je vraiment besoin d'Eclipse pour une mini application Android ?
    Par Attila54 dans le forum Composants graphiques
    Réponses: 4
    Dernier message: 12/09/2012, 20h08
  3. Conception d'une mini application
    Par Phago dans le forum Android
    Réponses: 0
    Dernier message: 26/07/2012, 15h49
  4. Création d'une mini GED
    Par philou22 dans le forum Modélisation
    Réponses: 3
    Dernier message: 08/02/2010, 11h41
  5. Création d'une mini-application avec ?
    Par ghohm dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 12/04/2007, 00h55

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