Excel macro intégration fichier format icône

Bonjour à tous,

Je voudrais créer une macro qui me permette de proposer une recherche d'un fichier à intégrer en format icône dans un document excel ou dans un document excel.
Le fichier à intégrer doit pouvoir être n'importe lequel...
Cela revient en mode manuel à aller pas plus loin sur l'arborescence suivante:
Insertion/Objet/Créer à partir du fichier/Parcourir

Je n'arrive qu'à intégrer à chaque fois le même fichier sans laisser le choix!
Pouvez-vous m'aider?

Merci d'avance
Alex
Configuration: Windows XP
Internet Explorer 6.0

9 réponses

  1. Contributeur
    Bonsoir,

    tu peux essayer avec sendkeys "nom_fichier.doc", true qui envoie les caractères à la fenetre en avant plan à la place de l'utilisateur.
    avec peut-être qcq sendkeys "{TAB}",true avant pour activer le champ recevant le nom du fichier

    eric
    1. Bonjour,
      tu peux utiliser la commande suivante : Application.Dialogs(xlDialogInsertObject).Show
      qui t'affiche la boîte de dialogue Insérer un objet et te permet d'aller chercher celui que tu souhaites.
      (Il reste quand même à l'utilisateur à cliquer sur Créer à partir du fichier et Parcourir ...)
      I.
      1. Merci bcp pour cette réponse...
        mon fichier va finalement être sous word!
        Quel est l'équivalent word?
        N'y a-t-il pas moyen d'atteindre directement cette fonction "Insertion/Objet/Créer à partir du fichier/Parcourir" ???

        Merci d'avance

        Alex
        1. Bonjour à tous...

          c'est ok pour l'équivalent word...
          mais je n'arrive toujours pas à écrire en VBA la suite:
          c'est à dire:

          - clic sur "créer à partir du fichier"
          - cocher sur "afficher sous forme d'icone"
          - clic sur "parcourir"

          si vous avez une idée de ce qui pourrait résoudre mon problème je vous en serai très reconnaissant!

          Merci d'avance

          Alex
          1. Salut Alex, quelle persévérance !
            Je te propose une demi-solution ci-dessous. Je dis "demi" car je ne sais pas aller chercher tous les arguments nécessaires à AddOLEObject. Mais sans doute pourras-tu compléter par toi-même.

            Sub InsererObjet()

            Dim Boite As FileDialog, Dim NomFichier As String

            'Aller récupérer le chemin + nom du fichier avec la boîte Parcourir
            Set Boite = Application.FileDialog(msoFileDialogFilePicker)
            With Boite
            If .Show = 0 Then Exit Sub
            NomFichier = .SelectedItems.Item(1)
            End With

            'Insérer l'objet
            Selection.InlineShapes.AddOLEObject FileName:=NomFichier, DisplayAsIcon:=True, IconLabel:=NomFichier

            End Sub
            1. Alors là... merci bcp...
              il ne me reste plus qu'à trouver:
              comment intégrer juste le nom du doc (et pas la totalité du chemin d'accés)!!
              ...et comment afficher l'icone: je crois qu'il faut passer par IconFileName et IconIndex...
              je vais regarder ça!
              encore merci Ivan-Hoe
              1. Super tuyau, Eric, merci !
                Alex, en combinant Application.Dialogs(xlDialogInsertObject).show et les SendKeys, tu arriveras à tes fins !
                I.
                1. merci à vous deux...
                  pour ceux qui rechercherait la même chose voilà le résultat...
                  quand on sait, c'est d'une simplicité enfantine...
                  encore faut-il savoir !!!
                  merci bcp!!!

                  Sub macro1()

                  SendKeys "%ib{tab}f{tab}{tab}hp"

                  End Sub

                  a+
                  Alex
                  1. Pour ne pas avoir de problème lors de la création d'un bouton donnant accès à cette macro!

                    Sub Macro1()

                    SendKeys ("%")
                    SendKeys ("i")
                    SendKeys ("b")
                    SendKeys ("{tab}")
                    SendKeys ("f")
                    SendKeys ("{tab}")
                    SendKeys ("{tab}")
                    SendKeys ("h")
                    SendKeys ("p")

                    End Sub

                    Discussions similaires

                    question pix mot caché

                    7 réponses