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

Macros et VBA Excel Discussion :

Cherche macro/API windows pour exporter tableau vers bmp


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Points : 55
    Points
    55
    Par défaut Cherche macro/API windows pour exporter tableau vers bmp
    Bonjour,

    j'ai un petit soucis, je dois exporter un tableau excel en bmp.
    le but est de chercher une balise dans un word et de le remplacer par ce tableau.

    le soucis c'est que lorsque nous faisons un copier (donc dans le presse papier), l'affichage par défaut du presse papier est en mode texte. Et au moment de l'export vers le word, cela nous colle une image blanche de la taille du tableau.
    Par contre l'image dans le presse papier est nickel, quand on force son affichage en Bitmap

    voici le code de mon bouton copier qui se trouve juste au dessus du tableau à exporter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub Cmd_ListeBatEnjeux_Copier_Click()
        Dim Lig, Col As Integer
        Dim LigFin, ColFin As Integer
        With Feuil15
            Lig = 7: Col = 2
            LigFin = .Cells(Lig + 1, Col - 1).End(xlDown).Row
            ColFin = .Cells(Lig, Col).End(xlToRight).Column
            .Range(.Cells(Lig - 2, Col), .Cells(LigFin + 3, ColFin)).Copy
            .Cells(1, 1).Select
        End With
    End Sub
    merci beaucoup pour votre aide, la du coté api je trouve rien et en vba non plus.

    @+
    bonne journée
    Cactus666

  2. #2
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Tu fais un colle dans word, c'est ça ?

    Tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.PasteAndFormat (wdPasteDefault)

    ou bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       Selection.PasteSpecial Link:=False, DataType:=wdPasteOLEObject, Placement _
            :=wdInLine, DisplayAsIcon:=False

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Points : 55
    Points
    55
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Selection.PasteSpecial Link:=False, DataType:=wdPasteOLEObject, Placement _
            :=wdInLine, DisplayAsIcon:=False
    ce code ci dessus je l'ai essayé, il se trouve dans le masque du rapport word ou aller chercher la balise et la remplacer par l'image contenu dans le presse papier.

    Ce code fonctionne que si on l'execute dans le word, mais appellé depuis mon fichier excel(ce que je veux bien sur...), cela me met une image blanche de la taille de mon tableau qui est contenue dans mon presse papier.

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    voici du code pour t'aider à créer un fichier image à partir d'une plage :
    http://excel.developpez.com/faq/inde...ePlageCellules

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Points : 55
    Points
    55
    Par défaut
    re bonjour,

    merci pour vos réponses.

    Mais, tous les exemples que je trouve et que vous m'avez présentez utilisent des copypicture hors je n'ai pas l'intégralité de mon tableau quand je fais un copy picture, donc je fais un copie tout court.

    la ligne de code qui me fait le collage spécial, se trouve dans le fichier word. ça fonctionne quand je l'execute depuis le word (donc sans liaison depuis le fichier excel), mais ne fonctionne pas depuis excel (ce que je veux)....

    et en copy normal le contenu du presse papier est en mode texte. si je le bascule en affichage bitmap j'ai l'integralité de mon tableau ce qui est cool.

    En clair il faudrait que je trouve une api windows qui me permettent de forcer l'affichage en Bitmap du pressse papier.

    Si quelqu'un a une idée je suis preneur

    merci bcp
    @+

  6. #6
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Ce code fonctionne que si on l'execute dans le word, mais appellé depuis mon fichier excel(ce que je veux bien sur...), cela me met une image blanche de la taille de mon tableau qui est contenue dans mon presse papier.
    Cela m'etonne j'aimerai bien voir le code pour comprendre ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Points : 55
    Points
    55
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Selection.PasteSpecial Link:=False, DataType:=wdPasteBitmap, Placement:=wdFloatOverText, DisplayAsIcon:=False
    ça fonctionne juste si je l'appelle du fichier word, mais pas d'excel.

    . ce qui est galère c'est que par défaut le presse papier est en mode texte, et si il m'afficherai par défaut en bitmap ça serait gagné. Dans affichage on a essayé on a selectionné bitmap, et on avait l'image complète du tableau.


    Pour information, on a fait un copy et pas un copy picture, car l'image n'était pas complète, il manquait 2 colonnes à droite

  8. #8
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Je continue de ne pas comprendre, ce code par exemple me semble ok :

    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
    Private Sub Ouvreword()
    '
    ' Ce programme recherche
    On Error GoTo Line1
     
    Dim Wchemin As Variant
    Dim WrdApp As Object
    Dim wrdDoc As Object
    Dim Mycell As Range
     
    On Error GoTo Line1
     
     Wchemin = Application.GetOpenFilename("doc(*.doc), *.doc")
     
    Set WrdApp = CreateObject("Word.Application")
    Set wrdDoc = WrdApp.Documents.Open(Wchemin)
    WrdApp.Visible = True
    Dim range1 As Word.Range
    Dim range2 As Word.Range
    Dim Maligne As Integer
     
    Selection.Copy
     
    ' WrdApp.Selection.PasteAndFormat (wdPasteDefault)
    WrdApp.Selection.PasteSpecial Link:=False, DataType:=wdPasteBitmap, Placement:=wdFloatOverText, DisplayAsIcon:=False
     
    Line1:
     
    Set WrdApp = Nothing
    Set wrdDoc = Nothing
     
    If Err.Number > 0 Then
        MsgBox Err.Number & Err.Description
    End If
     
     
    End Sub

Discussions similaires

  1. Macro excel pour exportation données vers Access
    Par jaromyr dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/12/2007, 23h50
  2. composant pour exporter pdx vers excel
    Par pierrot67 dans le forum Bases de données
    Réponses: 2
    Dernier message: 05/10/2006, 23h06
  3. api/windows pour extraire le nom de repertoire
    Par youssefinfo00 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/09/2006, 16h03
  4. [DTD] Cherche une API JAVA pour parser une DTD
    Par nice dans le forum Format d'échange (XML, JSON...)
    Réponses: 13
    Dernier message: 15/06/2006, 16h00
  5. Réponses: 6
    Dernier message: 25/12/2005, 18h00

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