Probleme ligne hyperlinks

Bonjour

Est il possible de demander par exemple de choisir un pdf dans le dossier C:/doc/mespdf/

Je ne veux pas que l utilisateur puisse choisir un fichier que ne se trouve pas dans ce repertoir precis

J ai essaye avec Application.Getopenfilename , j arrive a ouvrir l interface sur le dossier voulu avec un chdir juste avant getopenfilename , mais rien n empeche une fois l explorateur d ouvert a l utilisateur d aller chercher son pdf ailleur ...et ca je ne veux surtout pas !

En attente de vos reponses

Merci d' avance

Cordialement

Bonjour,

Tu peux lister les fichiers parmi lesquels choisir avec Dir, il ne naviguera ainsi pas ailleurs...

(Quoique rien ne peut l'empêcher de naviguer si l'envie lui prend !)

si je fais dir sur mon repertoire juste avant getopenfilename , cela ouvre certes l explorateur de fichiers sur le repertoire voulu , mais sa ne l empeche pas d aller ailleur , alors que moi je veux clmairement l empecher ...

je ne sais donc que faire

Mais tu ne fais pas GetOpenFileName !

Ok j ai mal compris desolé

Je le fais par que moyen donc ?

Si tu fais fichier=Dir("chemin\*.pdf"), ta variable fichier contiendra le premier nom de fichier correspondant à ta demande.

Si tu fais ensuite une boucle :

Do While fichier <> ""
   ' [instructions]
   fichier = Dir
Loop

fichier va te renvoyer à chaque fois le nom du fichier suivant correspondant à ta demande, tant qu'il y en a).

Dans les "instructions" tu peux par exemple afficher à chque fois un MsgBox donnant le nom du fichier, avec boutons Oui/Non permettant à l'utilisateur de le retenir ou pas, mais ce n'est pas très pratique.

Tu pourrais donc faire :

Sub ListerFichier()
    Dim fichier$, Lfich
    fichier = Dir("chemin\*pdf")
    Lfich = fichier
    Do While fichier <> ""
        Lfich = Lfich & ";" & fichier
        fichier =Dir
    Loop
    Lfich = Split(Lfich, ";")
    With UserForm1
        .ComboBox1.List = WorksheetFunction.Transpose(Lfich)
        .Show
    End With
End Sub

Tu listes tes noms de fichiers à suite dans ta variable (avec un séparateur) et au sortir de la boucle tu transformes ta chaîne en tableau des noms de fichiers.

Tu affectes cette liste à une ComboBox dans un Userform, que tu ouvres pour faire choisir l'utilisateur...

Il te reste pour ce cas à construire le Userform avec Combo, des boutons et les procédures pour récupérer le choix...

Cordialement.

merci pour ces informations !

j ai un autre probleme tant que j y penses !

ThisWorksheet.Hyperlinks.Add Anchor:=ThisWorksheet.Range("J" & Target.Row), Address:="http://example.microsoft.com", ScreenTip:="Microsoft Web Site", TextToDisplay:="Microsoft"

en voulant inserer un hyperline de cette maniere celka ne marche pas chez moi sur excel 2010 ... normale ?

Merci d avance !

Cordialement

ThisWorksheet ne fait pas partie du langage VBA.

Donc, si c'est une variable objet déclarée par tes soins, et à laquelle tu as affectée une feuille, ne cherche pas d'autre source d'erreur...

Cordialement.

meme en le remplacant par " Sheet("mafeuille") bah sa nemarche pas .

Sheet("mafeuille") n'est pas une expression correcte !

Si tu es aussi approximatif avec le langage...

Rechercher des sujets similaires à "probleme ligne hyperlinks"