Excel 2007 macro pour insert image

Résolu
gillesdemev Messages postés 141 Statut Membre -  
Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
L'insertion d'image avec une macro dans excel 2007 n'a pas la même réaction que excel 97
Cette macro en excel97 place les 2 images à peu près dans les cellules 16.2 et 16.5 en respectant .activate
En excel 2007 NON que ce soit avec activate ou avec Cells(x, y).Select même problème les images se supperposent toujours au même endroit ligne 5 entre les colonnes A et B

Quelqun a t'il une solution ou explication
Merci
Gilles

Public Sub afficher97()

Worksheets("feuil1").Cells(16, 2).Activate
image = "Caravaggio - GalleryPlayer [320x200].jpg"
ActiveSheet.Pictures.Insert(image).Select

Worksheets("feuil1").Cells(16, 5).Activate
image = "Hopper - GalleryPlayer [320x200].jpg"
ActiveSheet.Pictures.Insert(image).Select

End Sub
Configuration: Windows XP
Internet Explorer 7.0

10 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour

    Tu peux essayer ainsi :
    Public Sub afficher2007()
    Dim image
        Worksheets("feuil1").Cells(16, 2).Activate
        image = "Caravaggio - GalleryPlayer [320x200].jpg"
        ActiveSheet.Pictures.Insert(image).Select
        Selection.Top = Cells(16, 2).Top
        Selection.Left = Cells(16, 2).Left
    
        Worksheets("feuil1").Cells(16, 5).Activate
        image = "Hopper - GalleryPlayer [320x200].jpg"
        ActiveSheet.Pictures.Insert(image).Select
        Selection.Top = Cells(16, 5).Top
        Selection.Left = Cells(16, 5).Left
    
    End Sub
    
    0
  2. gillesdemev Messages postés 141 Statut Membre 23
     
    Merci Gbinforme
    J'ai une erreur 1004 (toujours 1004)
    Qui me dit impossible de lire la propriété insert de la classe pictures
    J'avoue que j'ai un peu de mal avec ces langages modernes.
    Il y a peu de temps on me surnommait le dinosaure de l'informatique chez Alcatel. ça veut tout dire
    C'est sympa de m'avoir proposé une solution
    Gilles
    0
  3. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour,
    Je pense qu'il faut que la variable "image" contienne l'adresse de l'image à insérer.
    La ligne de code devrait-être de cette forme :
    image = "D:\Documents and Settings\gillesdemev\ ........ \Caravaggio - GalleryPlayer [320x200]"
    0
  4. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour Le Pingou,

    Soit mettre le chemin complet comme tu l'as précisé, soit être positionné sur le bon répertoire :

    cdir "C:\...."

    bonjour gillesdemev,

    Cette fonction doit donc te parler...

    le dinosaure de l'informatique chez Alcatel. ça veut tout dire

    C'est tout faux car tu es encore parmi nous et les dinosaures ne sont plus là !
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. gillesdemev Messages postés 141 Statut Membre 23
     
    Merci à vous 2
    L'image est bien trouvée car elle est insérée dans la feuille.
    Pour mes essais les pics sont dans le même répertoire que le fichier Excel Alors que dans mon appli elles peuvent être ailleurs et donc dans ma variable j'ai le chemin complet
    Le Principal problème c'est qu'elle s'empilent toutes l'une sur l'autre

    Pour tout dire mon appli ne sert pas à grand chose
    Exemple, je laisse Excel (par des random) choisir dans 'n' colonnes le menu que je vais manger et pour compliquer la chose j'affiche l'image du plat
    Exemple colonne A les entrèes, B les viandes ou poisson etc .... c'est la bête qui vérifie le nombre de colonnes utilisées et dans chaque colonne le nombre d'item Tien je pourrais ajouter une colonne pour l'herbe grasse des prairies du jurassique

    ça peut marcher aussi pour les vêtements: chausettes, chemises cravates futal ....
    Aucun inérêt donc si ce n'est que m'obliger à réfléchir au lieu de m'ingurgiter des programmes télé débiles BEURK j'aime pas la télé
    Merci encore à vous
    Un dinosaure ravi
    Aller j'y retourne

    Ps: cdir ! ha que c'est bon
    0
  7. gillesdemev Messages postés 141 Statut Membre 23
     
    J'ai une solution efficace.
    J'ai viré excel 2007
    L'interface est horripilant, si on fait enregistrer une macro ... Dans la Sub on ne retrouve pas toutes les commandes
    par exemple justement insérer une image
    Cohabitation entre 97 et 2007 ... douteuse
    Fichiers .xlsx ? comportement étrange aussi
    Bref, je ne voulais pas rester à la traîne mais là ...
    Et encore je n'ai pas attaqué Access
    Quand même, je garde mon double corps sans revenir au Z80 trop fort le papé !
    Merci à vous
    0
  8. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour

    L'interface est horripilant,

    Le changement d'habitude est difficile sans doute mais elle est adaptable et présente aussi des avantages.

    si on fait enregistrer une macro ... Dans la Sub on ne retrouve pas toutes les commandes

    Les commandes sur les objets sont ignorées effectivement mais par contre l'aide est plus structurée.

    Cohabitation entre 97 et 2007 ... douteuse

    Personnellement, entre 2002 et 2007 même lancés simultanément je n'ai pas de soucis...

    Fichiers .xlsx ? comportement étrange aussi

    Tu peux "enregistrer sous" puis "format 97-2003" sans problème.

    Bref, je ne voulais pas rester à la traîne mais là ...Et encore je n'ai pas attaqué Access

    Je ne te parlerai pas d'access car je n'ai que le pack familial.

    Quand même, je garde mon double corps sans revenir au Z80 trop fort le papé !

    Attention, ta machine ce n'est pas une Gordini il me semble qu'elle a plutôt double cœur ?
    0
  9. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour gillesdemev,
    Eh bien je mets mon petit grain de sel par rapport à Access.
    J'ai passé sans problème mes diverses applications Access de 97 à 2003.
    Depuis mi-2008 j'ai le MSO 2007 et j'ai réalisée la même opération de 2003 sur 2007 sans problème.
    A l'utilisation et aussi lors de modification d'une application je trouve que c'est très bien.
    Il faut un peut de souplesse pour s'adapter comme le dit si bien gbinforme, mais à notre âge c'est un excellent exercice pour nos neurones.
    Bonne semaine.

    Salutations.
    Jean-Pierre
    0
  10. gillesdemev Messages postés 141 Statut Membre 23
     
    Gbinforme , Jean-Pierre
    Je suis persuadé que vos propos sont plein de vérités et on a du mal (moi en tout cas) à changer d'habitude

    Je vais passer ce sujet en résolu pour ne pas le laisser en cours .
    Bien qu'il n'y ai pas encore de solution qui soit ressortie de nos échanges, ces considérations pleines de bon sens .

    Merci les gars, je remonte 2007 , faut pas faiblir et se laisser abattre

    Et chiche que sur mon Gordini, après le double corps (bien vu) je passe au turbo

    Bonne semaine à vous
    Gilles
    0
  11. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour,
    En guise de fin, essayez la macro, de gbinforme, donc j'ai modifié les lignes 3 et supprimé la 8.
    Ne serait-ce pas la solution !

    Public Sub afficher2007()
    Dim image
    Worksheets("Feuil1").Select
    image = "Caravaggio - GalleryPlayer [320x200].jpg"
    ActiveSheet.Pictures.Insert(image).Select
    Selection.Top = Cells(16, 2).Top
    Selection.Left = Cells(16, 2).Left

    image = "Hopper - GalleryPlayer [320x200].jpg"
    ActiveSheet.Pictures.Insert(image).Select
    Selection.Top = Cells(16, 5).Top
    Selection.Left = Cells(16, 5).Left
    End Sub
    0