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

VB 6 et antérieur Discussion :

exportation datagrid vers excel


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Par défaut exportation datagrid vers excel
    Bonjour,
    j'ai du mal à exporter mes données datagrid vers excel, voici un code que j'ai trouvé sur un site et que normalement doit marcher mais il marche pas chez moi
    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
    26
     
    Dim i, j, k, l As Integer
    On Error GoTo errxcel
    Dim xlo As Object
    Set xlo = CreateObject("Excel.Application")
    DoEvents
    xlo.Visible = True
    xlo.workbooks.Add
    i = rsProv1.RecordCount
    j = DataGrid1.Columns.Count
    For k = 0 To j - 1
           xlo.workbooks(1).sheets(1).Cells(l + 1, k + 1) = DataGrid1.Columns(k).Caption
    Next k
    l = 0
    rsProv1.MoveFirst
    Do While Not rsProv1.EOF
    For k = 0 To j - 1
           DataGrid1.Col = k
           xlo.workbooks(1).sheets(1).Cells(l + 2, k + 1) = DataGrid1.Text
    Next k
    rsProv1.MoveNext
    l = l + 1
    Loop
    Exit Sub
    errxcel:
    MsgBox "Excel not found"
    je sais pas pourquoi ca marche pas, il ouvre justel'excel pas plus et bien sur j'ai le message d'erreur "excel not found" . pourquoi? est ce qu'il a quelque chose à modifier au niveau des préférences ou quoi exactement.
    Help les amis

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 301
    Par défaut
    Salut

    Pour importé un DataGrid tel quel dans excel j'utilise :
    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
    DIM Xlapp as Excel.Application
    Dim Xlbook as Excel.Workbook
    Dim Xlsheet as Excel.Worksheet
     
    set xlap=new Excel.application
    set xlbook = xlap.Workbooks.Add
    set xlsheet = xlbook.Worksheets(1)
     
    xlsheet.range("A1").Copy From Recordset rs
     
    xlbook.save as ...
    xlbook.close
     
    set xlsheet=Nothing
    set xlbook=Nothing
    excel.Application.Quit
    set xlapp=Nothing
    A+

    Edit : il existe d'autre solutions ou tu peu en même temps définir ta mise en page
    Edit2 : Tu noteras que j'exporte le record set et non le contenu du DataGrid (ce dernier étant rempli par un rs)

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Par défaut
    Merci BM42 mais il y a quelque chose qui ne va pas sur ton code!!! il est erroné

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    xlsheet.range("A1").Copy From Recordset rs
     
    xlbook.save as ...
    xlbook.close
    merci

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 301
    Par défaut
    Salut

    Toute mes excuses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlsheet.range("A1").Copy From Recordset rs
    devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlsheet.range("A1").CopyFromRecordset rs
    A+

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Par défaut
    Merci pour ta reponse mais ca marche tjrs pas:
    le code suivant ne marche pas
    je l'ai remplacé par :
    le programme se compile bien mais j'ai une erreur au niveau de cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Xlsheet.Range("A1").CopyFromRecordset rs
    "Invalid procedure"
    merci

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Par défaut
    S'il vous plait, quelqu'un peut ùe dire ce que ca peut etre "rsProv1" dans mon premier code; c'est la d'où vient l'erreur.
    les gars, heeeeeeeeeeeeeeeeeeeeeeeeeeelp

Discussions similaires

  1. Réponses: 8
    Dernier message: 20/01/2011, 17h21
  2. Export datagrid vers Excel et checkbox
    Par urbanspike dans le forum VB.NET
    Réponses: 4
    Dernier message: 28/07/2009, 20h08
  3. exporter données d'un datagrid vers excel
    Par kat40 dans le forum VB 6 et antérieur
    Réponses: 21
    Dernier message: 18/03/2008, 16h25
  4. exporté les donnees du datagrid vers excel
    Par bicho dans le forum Windows Forms
    Réponses: 3
    Dernier message: 14/09/2007, 18h28
  5. Export Datagrid vers Excel
    Par DocCoinCoin dans le forum ASP.NET
    Réponses: 2
    Dernier message: 25/04/2007, 00h06

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