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

Bibliothèques C++ Discussion :

Commander une écriture dans une colonne d'excel ?


Sujet :

Bibliothèques C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 128
    Par défaut Commander une écriture dans une colonne d'excel ?
    Bonjour,

    On m'a réalisé un programme en C++ qui lit des QR code.
    Lorsque la lecture du code est faite, j'aimerais que, des infos lues (un nombre et 3 lettres), les trois lettres soient écrites dans une certaine colonne d'excel (version 2016 pro plus).

    On me dit qu'il faut une librairie payante pour le faire??

    J'ai lu plusieurs choses différentes aussi, comme passer par un fichier texte, mais dans ce cas je n'ai plus de lecture en temps réel, ce que je voudrais avoir, et en plus il faudrait que je sache, dans excel, quand la lecture est finie.

    Quelqu'un peut-il m'indiquer comment faire ce que je veux, svp? merci

  2. #2
    Membre confirmé
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 128
    Par défaut
    Bonjour,

    Personne ne sait s'il est possible d'écrire de C++ vers excel ?

    on peut m'indiquer si oui, comment svp ?

    merci

  3. #3
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Excel est un programme.
    Un programme ne peut pas vraiment recevoir d'ordre d'un autre pendant son exécution.

    En conséquence, je dirai "ce n'est pas possible".

    Par contre, tu peux écrire un plugin pour excel, ou une macro peut-être, qui appelerait un programme en C++.

    Pourquoi utiliser le C++ dans ton cas?

    Mon avis, c'est que tu essaies d'automatiser quelque chose, mais Excel n'est pas un outil idéal pour l'automatisation.
    Éventuellement, tu pourrais regarder du côté de LibreOffice et sa bibliothèque UNO, qui permet de manipuler LibreOffice depuis un programme C++.

  4. #4
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    Salut
    ci c'est uniquement le besoin d'écrire des données dans un ficher de type excel ouvert
    tu peux utiliser les fonctions d'OLE2 Voir MSDN
    cdlt
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 282
    Par défaut
    Bonjour

    Moi je me dis que cela doit être possible, comme cela l'est depuis MS Access en VBA.
    Voir les tutoriels Excel sur l'automatisation. Il faut en premier importer la bibliothèque d’automatisation "Microsoft Excel Object Library X.0" (X dépendant de la version). Elle est fournie par l'installation de MS Office sur un poste.

    Par contre pour ceci:
    et en plus il faudrait que je sache, dans Excel, quand la lecture est finie.
    Me fait poser la question est-ce l'application en C++ qui doit piloter Excel ou l'inverse? Dans le premier cas, on doit pouvoir lancer une macro ou une fonction VBA via l'automatisation.

    Réponse incomplète car je n'ai jamais pratiqué l'automatisation d'Excel avec autre chose que Excel lui-même ou Access. Maintenant, juste pour vérifier j'arrive à importer la bibliothèque dans Delphi, donc cela doit aussi être possible en C++.

    Bonne journée

    Delias

  6. #6
    Membre confirmé
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 128
    Par défaut
    Bonjour à tous,
    Désolé de ne lire vos réponses que maintenant mais j'avais quelques soucis.
    En tout cas merci.

    ternel,
    Je ne peux pas réécrire tout mon code sous libre office, je suis vraiment fatigué déjà d'essayer de le faire sous excel.
    La personne qui m'a écrit le code l'a fait sous c++ pour lire des QR code à la chaine, c'était son choix .

    En fait, après renseignement,
    mon programmeur à fait son programme en c++, sous "Ubuntu" .

    J'ai donc 2 difficultés sous excel:

    1) lancer "ubuntu", et comme je passe par une virtual box, je dois lancer la virtualbox, lancer ubuntu, aller dans le répertoire où se trouve le dossier sur lequel je dois cliquer droit pour "ouvrir dans un terminal" et enfin taper le code "./lecteur" qui lancera le programme de lecture des QR codes.

    2) récupérer le fichier dans lequel ont été rangés les codes lus, pour les écrire dans ma feuille excel, en espérant que la lecture ait été complète, puisque je n'ai pas d'écriture en temps réel puisque mon programmeur ne sait pas le faire. Je ne sais donc pas quand la lecture est finie, à la rigueur ce n'est pas grave pour avancer un peu les choses.

    Le temps m'est compté car je dois présenter mon programme pour la rentrée ...

    Delias,
    Selon toi on peut écrire de c++ dans excel par "l'automatisation" ou lire de excel dans c++ ?

    j'ai trouvé ceci dans "serveurs automation": Serveurs OLE DB Services component data links
    est-ce que c'est cela qu'il faut installer ?

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Mod77 Voir le message
    On m'a réalisé un programme en C++ qui lit des QR code.
    Lorsque la lecture du code est faite, j'aimerais que, des infos lues (un nombre et 3 lettres), les trois lettres soient écrites dans une certaine colonne d'excel (version 2016 pro plus).

    J'ai lu plusieurs choses différentes aussi, comme passer par un fichier texte, mais dans ce cas je n'ai plus de lecture en temps réel, ce que je voudrais avoir, et en plus il faudrait que je sache, dans excel, quand la lecture est finie.
    Un logiciel en C++ pour utiliser un lecteur de QR code ???
    La dernière fois que j'en ai utilisé un, il s'agit d'un simple input qui te donne une chaîne de caractère et fin de ligne.
    Donc il suffit d'ouvrir Excel, te positionner dans la colonne pour les QR codes et scanner tout ce que tu souhaites.

    On me dit qu'il faut une librairie payante pour le faire??
    Si c'est le même "on" qui t'a vendu un logiciel en C++ pour utiliser une scanette, tu m'étonnes. Il a flairé le bon plan pour te choper de la thune.
    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
    Membre confirmé
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 128
    Par défaut
    Bousk,
    Tu as raison mais je n'y connais rien et apprendre un autre langage m'épuise. J'ai essayé en solo mais c'est trop dure et il y a des choses que je ne savais pas, mais qu'il m'a informé.
    C'est un étudiant ingénieur. Je ne voulais pas en parler mais je vais demander un remboursement car au final c'est moi qui fait la base et essaye de coller les bouts de programme entre eux alors c'est trop, surtout pour les 900 euros que j'ai lâché. Le problème c'est que je devrais trouver quelqu'un d'autre, il serait plus raisonnable de négocier une refonte peut-être...Tout est dit.

    Revenons à notre mouton avec Bktero,

    Oui c'est ce que je dois faire, je ne doutais pas que tu avais bien saisi.

    Mais je ne comprends pas ce que tu écris : "pour exécuter des commandes dans la client depuis l'hôte."
    ensuite ceci: "un script bat Windows qui lance ta VirtualBox puis exécuter des commandes Ubuntu dedans"
    c'est quoi un "script bat windows" stp ? je l'écris où ?

    Je crois comprendre que je dois écrire quelque chose (je ne sais pas où, mais) qui va me lancer mon "Oracle VM Virtualbox"
    ce que je ne comprends pas, c'est comment lancer "ubuntu_16-04-02" après, alors qu'il est en position "éteinte".

  9. #9
    Membre confirmé
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 128
    Par défaut
    Je viens de trouver ce que Bktero appelle script bat windows, là:
    https://windows.developpez.com/faq/batch/

    C'est un script de type BATCH de windows, aaaaaah !

  10. #10
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Le problème de la sous-traitance est qu'il faut être très clair sur ce que tu veux obtenir. Tu l'as appris à tes dépends, tu feras mieux la prochaine fois

    Un script .bat https://fr.wikipedia.org/wiki/.bat

    Dans la terminologie des machines virtuelles, l'hôte est le PC sur lequel s'exécute la machine virtuelle ; le client est le système d'exploitation qui est exécuté à l'intérieur de la machine virtuelle. Dans ton cas, Windows est l'hôte et Ubuntu est le client. Un script .bat (ou batch, c'est pareil ^^) te permet d'exécuter une suite de commande. Si tu souhaites automatiser une tâche, une solution est donc d'écrire un tel fichier qui reproduit la série d'action. Ainsi, tu trouveras peut-être une solution pour l'exécuter à l'ouverture de ton fichier Excel, et au pire tu double-cliques dessus avant de double-cliquer sur ton fichier Excel. Et même si tu peux entrer une liste de commandes dans Excel et tu n'as pas besoin d’écrire de fichier *.bat, il faut bien que tu trouves les commandes à envoyer.

    D'après cet article (https://kindlevsmac.wordpress.com/20...command-lines/), c'est tout simple de démarrer ta VirtualBox :
    For Windows, you use similar approach with batch files. In Notepad, type this 2 lines in

    cd "c:\Program Files\Oracle\VirtualBox"
    
    vboxmanage startvm (vmname)
    save as .bat file, and there you go, double click it to start the specified virtual machine.

  11. #11
    Membre confirmé
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 128
    Par défaut
    Merci Bktero,
    c'est mieux là ;-), j'ai bien compris.

    Je ne me suis pas tourné les pouces j'avais trouvé la même explication en français, là:
    https://www.gladir.com/SOFTWARE/VIRT...agestartvm.htm

    je vais maintenant esayé de rentrer le mot de passe via ton lien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    VBoxManage guestcontrol <uuid|vmname> <sub-command>
                [--username <name> ]
                [--passwordfile <file> | --password <password>]
                [--domain <domain> ]
                [-v|--verbose] [-q|quiet]
    A+

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Mod77 Voir le message
    Tu as raison mais je n'y connais rien et apprendre un autre langage m'épuise. J'ai essayé en solo mais c'est trop dure et il y a des choses que je ne savais pas, mais qu'il m'a informé.
    Où je parle d'apprendre un langage ou quoi que ce soit d'ailleurs ?
    Tu branches ta scanette, ouvres un truc genre notepad, tu scannes une connerie et remarques directement que ta scanette te lit les données suivi d'un retour à la ligne. Exactement comme si tu tapais manuellement sur ton clavier les nombres et appuyais sur enter.
    A partir de là, faut pas avoir fait St-Cyr pour savoir que dans Excel enter permet d'aller à la ligne suivante, dans la même colonne, ou pour comprendre que si tu te mets dans la première ligne et scannes tout ce que tu souhaites, tu auras tous tes trucs scannés dans la colonne chacun sur leur ligne.

    Et maintenant tu parles de devoir passer par une machine virtuelle parce que le programme est compilé sous Ubuntu... Quid de demander un exécutable Windows ou approprié ?

    Tu n'y connais rien mais lâches 900€ à un étudiant pour faire un truc ?
    Sérieux c'est du grand n'importe quoi, ça part pire que dans tous les sens, y'a rien à garder dans ce que tu racontes.
    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.

  13. #13
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Tu veux dire par là que les scanettes sont des sortes de clavier ? Quand tu scannes, ça écrit du texte comme si tu tapais le contenu du QR code ?

  14. #14
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 472
    Par défaut
    Tu veux dire par là que les scanettes sont des sortes de clavier ? Quand tu scannes, ça écrit du texte comme si tu tapais le contenu du QR code ?
    En tout cas, sous Windows, oui. Les drivers de ce type de "scannettes" (douchettes) se pluguent dans la pile des drivers du clavier.

  15. #15
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Bktero Voir le message
    Tu veux dire par là que les scanettes sont des sortes de clavier ? Quand tu scannes, ça écrit du texte comme si tu tapais le contenu du QR code ?
    9000% this. Suivi d'un retour à la ligne.
    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.

  16. #16
    Membre confirmé
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 128
    Par défaut
    Bousk,

    Tu veux que je pleure ou quoi??
    C'est pas la peine de s'énerver pour ça!
    c'est déjà assez dure, ça fait rien de productif et tu vas te faire des cheveux blancs

    Je n'ai pas tout dit, pour raccourcir les choses et ne pas dévoiler le mode de lecture des qr codes qui est par caméra.
    Mais cela n'a pas d'importance pour résoudre mon problème initial.

    D'ailleurs, pour suivre ton principe de scanette , j'ai posté il y a un moment, une demande pour réaliser un "tagpad" via smartphone.
    Pour lire des signatures et les mettre dans des cellules "excel" en tant que gif. J'ai vu depuis que des appli existent mais elle ne sont pas adaptées car trop fastidieuses à utiliser.
    Je vois plutôt une utilisation comme la scanette, justement. Mais ça n'existe pas!
    Et puis, finalement, je vais acheter un "tagpad" premier prix, pour 30 euro .

    Par contre si, ma démo convainc des personnes, je veux bien te les donner les sous pour me refaire toute la base avec le système d'acquisition ;-)

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  2. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  3. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  4. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  5. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13

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