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 :

Problème d'insertion d'image : Erreur sur .Insert


Sujet :

Macros et VBA Excel

  1. #1
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut Problème d'insertion d'image : Erreur sur .Insert
    Bonjour,

    je reçois "unable to get the Insert property of The Picture Class" sur l'instruction en gras du code suivant :

    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
    Sub Format()
    Dim pcx_name As String
    
    For i = 5 To 561
        pcx_name = "G:\Emballage\Profiles\" & ActiveSheet.Range("A" & i) & ".PCX"
        Range("B" & i).Select
        
        ActiveSheet.Pictures.Insert(pcxname).Select
        Selection.ShapeRange.LockAspectRatio = msoTrue
        Selection.ShapeRange.Height = 42.75
        Selection.ShapeRange.Width = 57.75
        Selection.ShapeRange.Rotation = 0#
        Rows(i).Select
        Selection.RowHeight = 48
        With Selection
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlCenter
            .WrapText = False
            .Orientation = 0
            .AddIndent = False
            .IndentLevel = 0
            .ShrinkToFit = False
            .ReadingOrder = xlContext
            .MergeCells = False
        End With
        
     Next
     
     End Sub
    Faut-il une référence spéciale dans VBA ?
    La Variable PCXname vaut "G:\Emballage\Profiles\03442.PCX".
    L'image existe bien.

    le code suivant enrégistré par l'enregistreur de macro fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        Range("B5").Select
        ActiveSheet.Pictures.Insert("G:\Emballage\Profiles\03442.PCX").Select
    merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Tu connais le jeu des 7 erreurs ?

    Dim pcx_name As String
    pcx_name = ...
    Insert(pcxname)

  3. #3
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut


    Bonjour Fring,
    bad Friday pour moi apparement.

    J'ai corrigé les 7 erreurs mais même topo.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub Format()
    Dim pcx_name As String
     
    For i = 5 To 561
        pcx_name = "G:\Emballage\Profiles\" & ActiveSheet.Range("A" & i) & ".PCX"
        Range("B" & i).Select
     
        ActiveSheet.Pictures.Insert(pcx_name).Select

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    J'ai testé avec un fichier GIF (je n'ai pas de PCX) et pas de problème

    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
    Sub Format()
    Dim pcx_name As String, i As Integer
     
    For i = 5 To 576
        With Rows(i)
            .RowHeight = 48
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlCenter
        End With
     
        pcx_name = "D:\My documents\My Pictures\" & Range("A" & i) & ".gif"
     
        With ActiveSheet.Pictures.Insert(pcx_name)
            .Height = 42.75
            .Width = 57.75
            .Top = Range("B" & i).Top + (Range("B" & i).Height / 2) - (42.75 / 2)
            .Left = Range("B" & i).Left + (Range("B" & i).Width / 2) - (57.75 / 2)
        End With
     Next
     
     End Sub
    Tu es certain que Range("A" & i) contient bien le nom du fichier image ?

  5. #5
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Rere,

    oui oui, B5 contient 03442 et comme indiqué plus haut en debug après la plante
    La Variable PCXname vaut "G:\Emballage\Profiles\03442.PCX".

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    tu peux joindre un de tes fichier pcx que je puisse tester ?

  7. #7
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Je dois me brancher sur le serveur pour cela.

    Je le fais et en même temps je te mets le code VBA.

    Merci d'avance.

  8. #8
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Voilà le matos.

    J'ai changé le code pour lire sur mon Stick USB (drive J)
    Marche pas non plus.

    Et j'ai simplifié le fichier excel à 6 lignes.

    Et encore merci.

  9. #9
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonsoir,

    Suis attendu et déjà en retard...
    Je sors donc mais offre de la lecture en attendant :

    http://www.pcreview.co.uk/forums/thread-2122162.php

    Il s'agit là de Word, mais je pense qu'il en va de même en ce qui concerne Excel

  10. #10
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Merci Ucfoutu.

    Sacré non de dieu de m......

    Il semble que cela ne marche donc pas. Pourtant en direct ca marche.

    Voir la macro1 de mon attachement enregistrée par l'enregistreur de macro. Et si on la relance, elle tourne.

    Tidju.. Encore un bug....?

  11. #11
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Suis attendu et déjà en retard...
    Bonne soirée Ucfoutu.

  12. #12
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Pour être complet, je voudrais avec ce code insérer +-500 PCX (les plans des outillages sont stockés dans ce format) dans un excel sheet pour satisfaire un client.
    A la main pfuiiiiiiiiiiiiiiiiii.

    Mais s'il existe un outil pour convertir en masse les pcx dans un autre format, cela pourrait dépanner.

    Merci à vous.

  13. #13
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Re,

    des convertisseurs existent, tel ici :

    http://www.convertzone.com/all/kw-pcx%20to%20bmp.htm

    certains (les meilleurs) d'entre eux ne sont pas gratuits.

    J'ignore s'ils sont capables de traiter "en masse", mais il devrait être possible (question à poser à l'offreur) pour certains d'entre eux de lancer le programme avec un paramètre (ligne de commande) .. Dans un tel cas, il suffirait alors de lancer en boucle (en prévoyant une attente entre chaque traitement).

    Je n'ai hélàs rien d'autre à t'offir, ce soir...

  14. #14
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    C'est déjà très bien, ucfoutu merci.

    Merci encore. Je laisse ouvert jusque lundi au cas ou quelqu'un aurait une parade.

    A+ Fini pour moi aujourd'hui.

  15. #15
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Bonsoir,

    tu as essayé ton code avec un fichier jpg ou gif, voir si c'est vraiment le pcx ton probléme ?

  16. #16
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Celui-ci semble capable de traiter "en masse", mais je ne l'ai pas essayé (à voir) et il faut s'enregistrer ...

    http://www.softinterface.com/Convert...onvert-JPG.htm

  17. #17
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    J'utilise Irfanview et je viens de voir qu'il peut convertir en masse.
    http://www.irfanview.com/

    De plus il est gratuit et fonctionne très bien pour la visu d'image, de film, et le browsing d'un répertoire,....

    Alors à mon avis je serai sauvé lundi.

    Encore merci pour ton temps ucfoutu.

  18. #18
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Je n'ai pas la possibilité de le tester chez moi mais à tout hazard essaye ceci
    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
    Sub Format()
    Dim pcx_name As String, i As Integer
     
    For i = 5 To 561
        With Rows(i)
            .RowHeight = 48
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlCenter
        End With
     
        pcx_name = "G:\Emballage\Profiles\" & ActiveSheet.Range("A" & i) & ".PCX"
     
        With ActiveSheet.OLEObjects.Add(Filename:=pcx_name)
            .Height = 42.75
            .Width = 57.75
            .Top = Range("B" & i).Top + (Range("B" & i).Height / 2) - (42.75 / 2)
            .Left = Range("B" & i).Left + (Range("B" & i).Width / 2) - (57.75 / 2)
        End With
    Next
     
    End Sub
    Quoi que en supposant que cela fonctionne, je ne sais pas ce que peut donner l'insertion de plus de 500 OLEObjects

  19. #19
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Fring

    Merci pour ton code,
    Je viens d'essaier. Cela me donne une icone image pour le dessin mais pas le dessin lui-même.

    Quoi que en supposant que cela fonctionne, je ne sais pas ce que peut donner l'insertion de plus de 500 OLEObjects
    J'en suis pleinement conscient et j'ai répondu comme toi à la demande. Mais le client voudrais vraiment.

    JackOuYA
    tu as essayé ton code avec un fichier jpg ou gif, voir si c'est vraiment le pcx ton probléme ?
    Marche nickel avec .JPG

  20. #20
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Citation Envoyé par Godzestla Voir le message
    Fring

    Merci pour ton code,
    Je viens d'essaier. Cela me donne une icone image pour le dessin mais pas le dessin lui-même.
    Un dernier essais, modifie cette ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With ActiveSheet.OLEObjects.Add(Filename:=pcx_name, Link:=False, DisplayAsIcon:=False)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problème de création d'image système sur Windows 7
    Par yetman333 dans le forum Windows 7
    Réponses: 16
    Dernier message: 12/12/2014, 17h12
  2. Erreur sur insertion d'une date dans MySQL
    Par pidlas dans le forum Général Python
    Réponses: 25
    Dernier message: 30/04/2013, 09h50
  3. Réponses: 3
    Dernier message: 29/12/2010, 22h35
  4. erreur sur INSERT
    Par hidalg007 dans le forum JDBC
    Réponses: 1
    Dernier message: 28/11/2010, 09h02
  5. [Format Date] erreur sur insertion d'une date
    Par philobedo dans le forum SQL
    Réponses: 4
    Dernier message: 14/06/2005, 10h41

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