Excel 2007 macro pour insert image

Résolu
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. Contributeur
    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
    
    1. 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
      1. 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]"
        1. Contributeur
          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à !
          1. 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
            1. 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
              1. Contributeur
                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 ?
                1. 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
                  1. 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
                    1. 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