Lien préenregistré quand on ouvre une fenêtre de recherche au moyen d'un code VBA

Taebo

XLDnaute Nouveau
BOnjour tout le monde, bonjour le Forum,

Je suis un peut embarrassé, parce que mon problème est tout simple, et que malgrès tout je trouve pas la réponse:

Au moyen de cette formule, j'ouvre une fenêtre de recherche qui me permet d'insérer une image. Ce que j'aimerais c'est qu'elle ouvre directement le répertoire que je veux, respectivement le bon fichier où il y a les photos, sans que l'utilisateur doivent trouver lui-même. Y a-t-il un moyen d'insérer un chemin dans la programmation?

Code:
Sub Bildeinsetzer_button_click()

Dim Choix

With ActiveSheet
   Choix = Application.GetOpenFilename("Bilddatei(*.gif;*.jpg;*.bmp),*.gif;*.jpg;*.bmp" _
    , , "Bild Auswahl", , False)
    If Choix = False Then GoTo folge2:
    On Error GoTo folge
    .Shapes("Werkstückbild").Delete
folge:
    Range("h21").Select
    .Pictures.Insert(Choix).Name = "Werkstückbild"
    .Shapes("Werkstückbild").Width = 280
    '.Shapes("Werkstückbild").Height = 50

End With

End Sub

Merci d'avance!
 

tototiti2008

XLDnaute Barbatruc
Re : Lien préenregistré quand on ouvre une fenêtre de recherche au moyen d'un code VB

Bonjour Taebo,

peut-être :

Code:
   ChDrive "Y"
   ChDir "Y:\Mes Images"
   Choix = Application.GetOpenFilename("Bilddatei(*.gif;*.jpg;*.bmp),*.gif;*.jpg;*.bmp" _
    , , "Bild Auswahl", , False)

avec "Y" la lettre du lecteur et "Y:\Mes Images" l'adresse du dossier
 

Taebo

XLDnaute Nouveau
Re : Lien préenregistré quand on ouvre une fenêtre de recherche au moyen d'un code VB

Merci tototiti2008

Ton astuce marche très bien, mais seulement sur le premier bouton que j'utilise!
Je m'explique: J'ai 2 boutons qui me permettent de chercher des photos dans l'ordinateur. J'ai insérer ce que tu m'as donné dans la procédure du premier bouton, et ça affecte aussi le 2ème! En fait c'est comme si on ouvrait la même chose avec 2 procédure différente! (ok je te l'accorde les 2 codes sont assez similaires.
 

tototiti2008

XLDnaute Barbatruc
Re : Lien préenregistré quand on ouvre une fenêtre de recherche au moyen d'un code VB

Re,

ChDrive modifie le lecteur courant, ChDir modifie le dossier courant. ce qui veut dire que ce lecteur et ce dossier sont en quelque sorte considérés "par défaut" (jusqu'à ce que tu quitte Excel ou que tu enregistre un classeur à un autre endroit particulier)

Je n'ai pas trouvé d'autre solution avec GetOpenFileName

je sais qu'il y a d'autres possibilités avec les objets FileDialog, mais si ça fonctionne en Excel 2003, je crois que ça ne focntionne pas sur toutes les versions antérieures. Quelle est ta version ?
 

tototiti2008

XLDnaute Barbatruc
Re : Lien préenregistré quand on ouvre une fenêtre de recherche au moyen d'un code VB

Re,

un exemple avec FileDialog :

Code:
Dim DialOuvr as FileDialog, Rep as Long
 
Set DialOuvr = Application.FileDialog(msoFileDialogOpen)
DialOuvr.Filters.Clear
DialOuvr.Filters.Add "Fichiers Texte", "*.txt", 1
DialOuvr.AllowMultiSelect = False
DialOuvr.Title = "Ouverture du fichier du mois"
DialOuvr.InitialView = msoFileDialogViewList
DialOuvr.InitialFileName = "Z:\Mes Images\"
Rep = DialOuvr.Show
    If Rep = 0 Then
        MsgBox "Opération annulée"
        Exit Sub
    End If
 

Discussions similaires