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

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    janvier 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : janvier 2021
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Base de données EXCEL avec C++, calcul puis --> .exe
    Bonjour,

    Je voudrais faire un programme entier sur Vbnet ou C++ (de préférence C++). Le programme consiste à calculer le DPS et autres informations sur toutes les armes de mêlée d'un jeux (+490 différentes) et modifiable via des mods (il y en a beaucoup).

    Je voulais donc faire une base complète de donnée sur Excel puis grâce à C++, prendre les informations nécessaires présents dans celui-ci pour effectuer le calcul, en sachant que la personne qui interagit avec le programme choisi l'arme et les mods qu'il veut.

    Ensuite, quand tout est fini, exporter le programme en un logiciel .exe indépendant

    Question 1 : Est-ce possible ?
    Question 2 : si non, ayant office 365, dois-je me tourner sur Access comme base de données ?

    Je suis ouvert à toutes suggestions.
    Je suis débutant en programmation, j'ai oublié de préciser 😅

    Cordialement,


    [EDIT=Pierre Fauconnier] Transféré du forum Excel

  2. #2
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    novembre 2013
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2013
    Messages : 1 472
    Points : 2 258
    Points
    2 258
    Par défaut
    Si vous utilisez Excel ou Access (de préférence), ils ont tous les 2 de puissants moteurs de calcul; à quoi bon faire appel à du C++ ou autre?
    Par ailleurs, vous avez exposé trop peu de détails permettant de mieux cerner la question.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    juin 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : juin 2016
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Zekraoui_Jakani Voir le message
    Si vous utilisez Excel ou Access (de préférence), ils ont tous les 2 de puissants moteurs de calcul; à quoi bon faire appel à du C++ ou autre?
    Par ailleurs, vous avez exposé trop peu de détails permettant de mieux cerner la question.
    Je sais très bien que Excel et Access sont de très bons moteurs de calculs mais comme je le précise plus haut, mon objectif est de faire un programme exécutable (.exe) indépendant.

    Je vous explique : mon objectif est de calculer le DPS de chaque arme d'un jeux (Warframe). Le seul soucis, c'est qu'il y a actuellement + de 490 armes différentes, et chaque arme est moddable (modifiable via des "mods" qui augmente une ou plusieurs statistiques de l'arme). Et ces mods, tout comme les armes, il y en a des milliers.

    Voici un exemple concret de build que je me suis fait :
    https://overframe.gg/build/111683/na...la-disruption/
    Ne vous fiez pas aux stats sur le côté gauche : En effet, le site ne prend pas en considération de multiples éléments pour le DPS (comme le proc viral avec le tranchant qui augmente les dégât de celui-ci), la hiérarchisation du statut en fonction de la chance de statut et du total des dégâts par type (impact, tranchant, etc). Bref. Vous m'avez compris.

    Le premier objectif est donc de faire une base de donnée contenant toutes les armes, les mods et leurs stats. Ce qui fera certainement d'un côté pour les armes 500 lignes et une vingtaine de colonne, et pour les mods, plusieurs centaines de mods (donc de ligne) avec au moins 12 colonnes (les mods possède aussi des rangs, augmentant leurs statistiques à prendre en compte).

    A partir de là, je veux que la personne puisse choisir l'arme qu'il vaut modder. Ensuite, il choisis les mods et leurs rangs qu'il veut mettre. Le programme (en C++) récupère ses informations de la base de donnée. Enfin, l'utilisateur choisit ce qu'il veux comme information (DPS pure, max damage possible, Sustained DPS, etc.). Là, le programme calcul et lui affiche les données.

    MAIS je veux que ce soit un logiciel / fichier exécutable indépendant. Je ne veux pas que l'utilisateur soit contraint d'avoir excel ou access d'installé sur son ordinateur. Je veux qu'il puisse lancer le programme, et c'est tout.
    Je ne veux pas que ce soit fait entièrement sur excel, car d'une part la personne sera obligé d'avoir excel ; d'autres part, c'est moins "interactif" pour la personne qui utilise Excel, car on lui pose pas de questions, il n'y a pas de "déroulé".
    Il existe déjà un EXCEL qui calcul le DPS, mais c'est pas convivial du tout je trouve.

    Est-ce mieux, plus détaillé ?

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    16 770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 16 770
    Points : 48 237
    Points
    48 237
    Billets dans le blog
    91
    Par défaut
    Salut.

    Peut-être pourras-tu requêter sur un fichier Excel en C++ (avec une bibliothèque de type ADODB, par exemple) mais le SQL pour Excel est assez limité, notamment au niveau des jointures. Tu devras si tu veux vraiment utiliser Excel comme support pour les données considérer une table par feuille Excel et prévoir correctement les clés (primaires et étrangères) pour pouvoir créer tes jointures. Excel n'est vraiment pas le meilleur outil pour ça.

    Tu devrais te tourner vers le forum C++ où l'on saura mieux te renseigner sur les techniques à mettre en oeuvre.

    Bon courage!
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Je mets SYTEMATIQUEMENT un lorsque la réponse ne propose pas un tableau structuré alors que ce dernier devrait être utilisé (par ex en travaillant sur la colonne entière).
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    juin 2019
    Messages
    550
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : juin 2019
    Messages : 550
    Points : 836
    Points
    836
    Par défaut
    Bonjour RomanB et Gamariio,
    Cette discussion s'apparente à de la schizophrénie !

    Le quel des deux est le dépositaire de la question ?

    Ou plus exactement qui contrôle qui?

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    janvier 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : janvier 2021
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Ah désolé, je crois que j'ai deux comptes, sans faire exprès il y en a un qui s'est sauvegardé en trop ^^ 😅 Gamariio et RomanB sont la même personne 😂
    Est-il possible du coup de transférer cette discussion dans la partie C++ du Forum ?
    Merci

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    juin 2010
    Messages
    6 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : juin 2010
    Messages : 6 634
    Points : 30 338
    Points
    30 338
    Billets dans le blog
    4
    Par défaut
    Oui tu peux faire ça en C++ uniquement, mais si tu poses la question tu n'as sans doute pas le niveau pour y parvenir. Alors... bonne chance!
    Il existe de multiples bibliothèques pour faire des programmes : Qt, wxWidgets, GTK, ...
    Je ne vois pas en quoi un fichier excel est un problème, c'est une façon classique de partager ce genre de feuilles. Il est rare que la personne n'ait aucun lecteur pour l'ouvrir, et en le mettant en ligne sur office365 ou google drive, il est accessible par tout le monde et peut être readonly.
    Tu peux aussi utiliser n'importe quel autre langage pour créer un tel programme. Mais encore une fois, ça se fait pas avec juste de la bonne volonté mais avec des heures/jours de travail, après avoir passé au moins autant de temps à apprendre la programmation et un langage.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    janvier 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : janvier 2021
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Bousk Voir le message
    [...]

    Je sais que ça va être long, je veux le finir avant 2026, je me laisse un délai de 5ans pour la réalisation du projet.
    La personne n'a pas besoin d'accéder à la base de donnée, c'est que moi qui la met à jour si besoin est. L'objectif c'est que la personne lance le programme et c'est tout.
    Du coup, une personne m'a partagé ce lien : http://libexcel.sourceforge.net/

    Ce que je voudrais, c'est pouvoir récupérer une cellule précise du fichier excel pour l'utiliser dans mon programme. Un truc du genre :

    Cin >> [nom de l'arme]

    Une boucle de recherche du nom sur la première colonne, du genre

    For (j = 1, j<=490, j++)
    Tant que [nom de l'arme] # cell(1,j) // cellule 1 pour la colonne, j pour la ligne
    Et quand c'est la bonne arme, j = à la valeur de la ligne correspondante
    Une fois qu'on a le numéro de ligne (du coup j), on renvoie les colonnes 2, 3 etc... jusqu'à 10 ou 20 qui corespond au stat de l'arme (colonne 2 chance critique, colonne 3 chance statut, etc.)

    Une sorte de rechercheV version C++.
    Mais avec la bibliothèque excel, je ne sais pas comment faire, je l'ai jamais utilisé.

    Le seul truc que j'ai fait actuellement, c'est ça, pour tester (un truc trouver sur internet)

    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
    #include <iostream>
    #include <fstream>
    #include <string>
     
    using namespace std;
     
    int main()
    {
     
        ifstream fichier ("F:/physique ; science/programme logiciel/CodeBlocks/WarframeTest/WarframeTest.csv");
        if (fichier)
        {
            string ligne;
            while(getline(fichier,ligne))
            {
                cout << ligne << endl;
            }
        }
        else
        {
            cout << " erreur" << endl;
        }
        return 0;
    }
    Je sais que c'est pas grand chose, mais j'ai soif d'apprendre

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    janvier 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : janvier 2021
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    J'ai essayé ceci en mettant cet outil : https://www.libxl.com/codeblocks.html
    J'ai mis ce code pour tester :

    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
    #include "libxl.h"
    using namespace libxl;
     
    int main()
    {
        Book* book = xlCreateBook(); // xlCreateXMLBook() for xlsx
        if(book)
        {
            Sheet* sheet = book->addSheet(L"Sheet1");
            if(sheet)
            {
                sheet->writeStr(2, 1, L"Hello, World !");
                sheet->writeNum(3, 1, 1000);
            }
            book->save(L"example.xls");
            book->release();
        }
        return 0;
    }
    Mais ça me renvoie une erreur :

    Nom : bug.PNG
Affichages : 37
Taille : 9,7 Ko

    Vous pouvez m'aider

  10. #10
    Expert éminent
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    juillet 2013
    Messages
    3 783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : juillet 2013
    Messages : 3 783
    Points : 8 468
    Points
    8 468
    Par défaut
    En gros , tu compiles en ANSI/ ASCII (MBCS pour être précis) et toi tu codes avec des chaînes de caractères Unicode (le L majuscule devant la chaîne de caractères)

    TCHAR est 1 type Microsoft qui est soit char (compilation en ANSI/ ASCII) soit wchar_t (compilation en Unicode)

    Donc soit tu changes l'option de compilation soit tu codes avec des chaînes de caractères MBCS.

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    janvier 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : janvier 2021
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par foetus Voir le message
    En gros , tu compiles en ANSI/ ASCII (MBCS pour être précis) et toi tu codes avec des chaînes de caractères Unicode (le L majuscule devant la chaîne de caractères)

    TCHAR est 1 type Microsoft qui est soit char (compilation en ANSI/ ASCII) soit wchar_t (compilation en Unicode)

    Donc soit tu changes l'option de compilation soit tu codes avec des chaînes de caractères MBCS.
    Merci ! Problème réglé

Discussions similaires

  1. [XL-2010] gestion fichier base de données excel avec macro
    Par momodjodjo dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/01/2017, 12h24
  2. [XL-2010] gestion fichier base de données excel avec macro
    Par momodjodjo dans le forum Excel
    Réponses: 3
    Dernier message: 16/01/2017, 11h10
  3. [PPT-2003] Utiliser une base de donnée excel avec powerpoint
    Par Neoxaro dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 09/06/2011, 18h59
  4. Réponses: 1
    Dernier message: 22/11/2007, 09h42
  5. exploiter une base de données excel avec delphi
    Par budylove dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/02/2005, 20h37

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