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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 25
    Par défaut Est-il possible de copier des données venant d'une database d'une appication en VB2008 vers un Fichier Excel ?
    Bonjour à tous,

    j'ai fait une petite application avec une petites base de données,
    maintenant je voudrait tranferer certaine données vers un fichier Exel,
    Tout d'abord je voudrais savoir si c'est possible?
    Si c'est possible j'aimerais savoir comment copier des données venant de la base de donnée vers le fichier Excel?
    Ce fichier Exel est déja existant,
    C'est un formulaire vierge qui me sert à commander des pièces.

    Je voudrai ne plus avoir à remplir ce formulair pour commander mes pièces détachées, je voudrai qu'à partir de mon application en cliquant sur une pièce dans le tableau des données, tous les renseignements se tranfèrent vers ce formulair (référence, description et quantité).

    D'avance merci.

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Bonjour !

    Oui c'est fort possible... Récupérer les données de ta BDD, ça, ça devrait aller...

    Ecrire dans un fichier Excel, Y'a plein de tutorial, c'est pas forcement évident au début.

    Par contre écrire dans un fichier excel "typé", ajoute encore une dose de complexité.

    Si c'est juste pour faire un bon de commande... Pourquoi ne pas créer un document via vb directement. En utilisant Crystal repport par exemple...

    La se sera beaucoup plus facile je pense.

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    utiliser les COM Interop n'a rien de bien méchant... faut pas pousser non plus.

    il n'a pas exigé expressément que le document généré, le soit en fonction de rien ou d'un modèle sans que Office ne soit installé sur la machine...

    utiliser Crystal Report n'est pas gratuit pour un usage professionnel, et ce n'est pas forcément évident, et ca ne répond pas forcément à ces besoins.

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Par défaut
    Les COM Interrop avec Excel n'ont rien d'impossible mais on arrive à des merdes pas possibles avec des instances Excel qui restent ouvertes et bloquent des documents. Quand on est débutant on peux facilement s'y arracher les cheveux quelques jours!

    Sachant en plus que Excel n'est pas un outil de reporting et d'impression (même si on retrouve ce genre de solution de bracaillon bien trop souvent à mon goût), je pense que ce n'est pas déplacé de proposé d'autres alternatives!

    Alors je propose aussi:

    De charger les données directement depuis Excel dans le document à l'aide de VBA ou de VSTO.

    Si ta base de donnée est Sql Server, essaye de voir ce que tu peux faire avec SQL Reporting Services.

    Si ta base de donnée est Access, essaye de voir ce que peux faire les états d'impression d'access (même merde que de piloter Excel mais au moins t'as un truc prévu pour l'impression, pas une feuille de calcul)

    Crystal Report est difficile d'accès au début (lourd à mettre en place dans tout les sens du terme), mais c'est du solide et ça t'apporte une vrai compétance professionnel.

    A savoir que si tu travailles avec une version Express de Visual Studio tu peux laisser tomber la solution Crystal Report et SQL Reporting Services (pas sur pour cette dernière)

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    SQL Reporting Service n'est réellement disponible que sur les éditions Entreprise/Developper de SQL Server (au vue des tarifs de celles-ci, soit son entreprise à de sérieux besoins et ils l'ont acheté, soit il est dans une entreprise avec un accès MSDN, sinon c'est rappé.)

    On le trouve sur la version standard, mais comme le nom de la version le laisse sous entendre, ce n'est pas la peine d'en attendre tout ce qu'il est sensé pouvoir faire.
    Mais moi personnellement j'ai toujours été dans le cas d'un usage d'une Enterprise/Developper Edition donc...

    Pour ce qui est de Excel, suffit de lire le bon tuto qui t'apprend à bien ouvrir et bien fermer un excel... j'ai une procédure qui l'ouvre et le ferme proprement et ce sans avoir recours à des merdes comme charger la liste des taches et killer Excel...
    suffit juste de bien refermer/libérer les contextes de COM Interop.

    ca si il le veut, je peux lui fournir un exemple.
    maintenant effectivement il peut utiliser autre chose.

  6. #6
    Membre confirmé Avatar de yochima
    Profil pro
    Inscrit en
    Août 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 93
    Par défaut
    Bonjour,

    voila une solution à ton probleme

    disons que tu as un bouton "Enregistrer"

    alors a l'évènement Onclick du bouton tu devras faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    saveFileDialog1.Filter = "Facture test|*.csv"
            saveFileDialog1.Title = "Sauvegarde de la facture"
            saveFileDialog1.ShowDialog()
    Ce code t'ouvre une fenetre explorateur windows et te demande de choisir un fichier de type .csv (excel peut ouvrir ce format)

    ainsi, lorsque le fichier est choisis et que tu à cliqué sur ouvrir tu peux le remplir comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim fichierCSV as String
    writer = My.Computer.FileSystem.OpenTextFileWriter(saveFileDialog1.FileName, True)
     
    fichierCSV = "bla;bli"
    fichierCSV += "toto;"
    writer.WriteLine(fichierCSV)
    là tu viens de remplir un Excel de une ligne et 3 colonnes (bla, bli et toto)
    Comme tu peux le voir, le ";" sert a dire fin de la cellule Excel

    à present à toi de boucler sur tes données de BDD pour remplir la string "fichierCSV"

    n'oublie pas a la fin de faire
    ce code créé un fichier de zéro. Si tu veux continuer de remplir un fichier existant, c'est a peu pret le meme principe mais c'est a toi de chercher comment faire ^^
    (je me souviens plus tres bien)

    ++

  7. #7
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Citation Envoyé par cinemania Voir le message
    utiliser les COM Interop n'a rien de bien méchant... faut pas pousser non plus.

    il n'a pas exigé expressément que le document généré, le soit en fonction de rien ou d'un modèle sans que Office ne soit installé sur la machine...

    utiliser Crystal Report n'est pas gratuit pour un usage professionnel, et ce n'est pas forcément évident, et ca ne répond pas forcément à ces besoins.
    Et cette réponse réponds à quel besoin ? En quoi elle apporte une réponse?

    +1 a Sinople pour toutes les solutions possibles

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

Discussions similaires

  1. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  2. Réponses: 2
    Dernier message: 07/09/2010, 16h06
  3. [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
  4. est-il possible de récupérer des données supprimer?
    Par bidibou dans le forum Administration
    Réponses: 2
    Dernier message: 12/07/2007, 09h29
  5. [MySQL] Est-ce possible de creer des champs en temps réel lors d'une requête SQL ?
    Par kaptnkill dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/09/2006, 19h18

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