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.NET Discussion :

Soucis Export Image vers Excel en VB.net


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 147
    Par défaut Soucis Export Image vers Excel en VB.net
    Bonjour

    Je n'arrive pas à exporter une image vers Excel en VB.net malgré mes nombreuses recherches et essais trouvés sur le net !!!

    Voici mon code de base et soucis ligne 47:
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    Dim ExcelApp As Object, ExcelBook As Object
                Dim ExcelSheet As Object
                Dim i As Integer
                Dim j As Integer
     
                ' Minimum à 1 
                ProgressBar1.Minimum = 0
                ' Maximum= nombre total de fichier à copier.
                'ProgressBar1 = filenames.Length
                ' On initialise la ProgressBar.
                ProgressBar1.Value = 1
                ' On indique le pas.
                ProgressBar1.Step = 6
                ProgressBar1.Style = ProgressBarStyle.Continuous
                ProgressBar1.Visible = True
     
                'Export Excel
                ExcelApp = CreateObject("Excel.Application")
                ExcelBook = ExcelApp.WorkBooks.Add
                ExcelSheet = ExcelBook.WorkSheets(1)
     
                Dim c As Color
                Dim titre As String
                With ExcelSheet
                    titre = nom & " " & prenom
                    If numero <> "" Then titre = titre + " - N° Référant Pôle Emploi: " & numero
                    ExcelSheet.Cells(1, 1).value = titre
                    For Each col As DataGridViewColumn In Me.DataGridView1.Columns
                        ExcelSheet.Cells(3, col.Index + 1).Font.Color = System.Drawing.ColorTranslator.ToOle(Color.White)
                        ExcelSheet.Cells(3, col.Index + 1).Interior.Color = System.Drawing.ColorTranslator.ToOle(Color.Black)
                        ExcelSheet.Cells(3, col.Index + 1) = col.HeaderText.ToString
                        For i = 1 To Me.DataGridView1.RowCount - 1
                            ExcelSheet.cells(i + 3, 1) = Me.DataGridView1.Rows(i - 1).Cells("numero_offre").Value
                            For j = 0 To DataGridView1.Columns.Count - 1
                                ExcelSheet.cells(i + 3, j + 1) = DataGridView1.Rows(i - 1).Cells(j).Value
                                c = DataGridView1.Rows(i - 1).Cells(j).Style.BackColor
                                Dim value As Integer = c.ToArgb()
                                Dim hex As String = value.ToString("X6")
                                If hex <> "000000" Then 'MessageBox.Show(MyColor.Name)
                                    ExcelSheet.Cells(i + 3, j + 1).Interior.Color = System.Drawing.ColorTranslator.ToOle(c)
                                End If
                            Next
                        Next
                    ExcelSheet.Cells.font.size = 8
    	'--------------------- Export image vers Excel -----------------------------------------------
                    ExcelSheet.Pictures.Add(i + 1 + 3, 1, "images\code_couleur_legende.jpg") ' <------------------
    	'---------------------------------------------------------------------------------------------
                    ExcelSheet.Cells(i + 1 + 12, 1).value = "© Copyright 2017 - DP - EMPLOI Suivi®"
                        ExcelSheet.Cells(i + 1 + 13, 1).value = "Site EMPLOI Suivi : http://contact72.free.fr//sites/EMPLOI_Suivi/"
                        ProgressBar1.PerformStep()
                    Next
                End With
    Pouvez-vous m'aider à résoudre ce problème ?

    Merci à tous

    Cordialement.


  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonjour,

    une rapide recherche me donne ce lien et donc ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    With xlApp.ActiveSheet.Pictures.Insert(PicPath)
        With .ShapeRange
            .LockAspectRatio = msoTrue
            .Width = 75
            .Height = 100
        End With
        .Left = xlApp.ActiveSheet.Cells(i, 20).Left
        .Top = xlApp.ActiveSheet.Cells(i, 20).Top
        .Placement = 1
        .PrintObject = True
    End With
    A adapter au votre bien entendu.

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 147
    Par défaut merci
    Bonjour

    Ok Merci, je vais essayer le code...

    Cordialement.


  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 147
    Par défaut re
    re

    j'ai une erreur au niveau de la ligne d'insertion : Informations supplémentaires : Le membre public 'ActiveSheet' du type 'Worksheet' est introuvable !!!

    Je suppose que je dois mettre un élément dans Import mais lequel ?

    Merci.

  5. #5
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Avec votre code ce sera plus facile ;-)

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 147
    Par défaut re
    Mon code complet est dans le premier post !!!

    J'ai réussi à importer mon image avec ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ExcelSheet.Shapes.AddPicture(My.Application.Info.DirectoryPath + "\images\code_couleur_legende.jpg", True, True, 1, (i + 1 + 3) * 10, 150, 80)
    Mais la position est en pixel et non dans la case spécifique (i+1+3,3)

    Si je veux utiliser un range, il me faut mettre un Imports Microsoft.Office.Interop.Excel
    mais je rentre en conflit avec Imports System.Drawing que j'utilise avec Drawing.Rectangle utilisé pour d'autres circonstances dans mon code !!!!

    Bon, c'est de la bidouille et l'image s'affiche bien dans Excel à une position aléatoire (1, (i + 1 + 3) * 10)...

    J'aimerai vraiment que l'image s'affiche dans la cellule précise, alors je cherche pour trouver une solution...

    Merci.

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

Discussions similaires

  1. Comment je peux exporter vers excel dans vb.net?
    Par chahinaz21 dans le forum VB.NET
    Réponses: 4
    Dernier message: 03/09/2010, 16h40
  2. Exportation d'images vers excel
    Par scheme dans le forum Bibliothèques tierces
    Réponses: 5
    Dernier message: 03/09/2009, 15h17
  3. Export requete vers excel et mise en forme
    Par ston dans le forum Access
    Réponses: 2
    Dernier message: 27/10/2005, 16h55
  4. Export ASP vers excel
    Par steph04 dans le forum ASP
    Réponses: 4
    Dernier message: 04/05/2005, 01h22

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