Excel macro intégration fichier format icône

AYT -  
 AYT -
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. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
    2
  2. Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   310
     
    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
  3. AYT
     
    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
    0
  4. AYT
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   310
     
    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
    0
  7. AYT
     
    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
    0
  8. Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   310
     
    Super tuyau, Eric, merci !
    Alex, en combinant Application.Dialogs(xlDialogInsertObject).show et les SendKeys, tu arriveras à tes fins !
    I.
    0
  9. AYT
     
    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
    0
  10. AYT
     
    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
    0