Comment créer un raccourci pointant sur un fichier listé dans une feuille Excel

Eloris Messages postés 3 Date d'inscription samedi 24 décembre 2005 Statut Membre Dernière intervention 28 décembre 2005 - 24 déc. 2005 à 12:05
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 - 29 déc. 2005 à 09:40
Bonjour,

J'ai voulu créer un catalogue de tous les fichiers d'un de mes disques durs, sous excel en utilisant vba.

J'ai obtenu ma liste de fichiers (1e colonne : le chemin d'accès, 2e
colonne, le nom du fichier) et je voudrais créer dans la troisième
colonne un raccourci (pas en lien hypertext ou autre) comme ceux que
l'on trouve sur le bureau windows.

Typiquement, un fichier .lnk me satisferait pleinement :) avez-vous une
idée quant à la méthode à employer, ou un exemple concret (je débute en
vba) ?



Merci d'avance.

5 réponses

ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
24 déc. 2005 à 12:55
Je ne comprends pas ta question qui est, franchement, si on y réfléchit, un peu bête!!!
Comment, et surtout pourquoi, insérer des fichiers de type lnk dans un classeur Excel !?!?!?

Non, je crois en fait que ce que tu cherches c'est à avoir des "icones" hyperlinkés aux fichiers désirés.

Pour un bon vieux lien HTML je te rappel la fonction Excel :
= LIEN_HYPERTEXTE("C:\Temp\Fichier";"Lien Internet")

Tu peux insérer des images et leur donner un lien hypertexte. Je te laisse donc consulter l'aide de VBA (héhé).

Si tu veux insérer directement les icônes des fichiers (ou assignées aux fichiers), consulte la source "explorateur windows" de Mr VBFrance Renfield . Il faut utiliser des API Windows... Mais ça, c'est encore une autre histoire!!!

Sinon, juste au passage, note qu'il faut toujours préciser le language et la version que tu utilises. Bon, ok, ici c'est le VBA, oui, mais quel version de Excel tu utilises !?!? On est pas devin !

Enjoy

<hr size ="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
Eloris Messages postés 3 Date d'inscription samedi 24 décembre 2005 Statut Membre Dernière intervention 28 décembre 2005
24 déc. 2005 à 20:07
Alors pour répondre à ta question, j'utilise Excel 2003, et pour
les raccourcis .lnk, je veux les insérer dans le classeur excel afin de
pouvoir regénerer les raccourcis à chaque fois que la liste change.



Cette liste ne doit pas générer un raccourci par fichier présent, mais
générer un catalogue de dossiers "sensibles" (reconnaissables aux 5
premiers caractères du nom de dossier).

Cette liste sera déployée sur une multitude de PC tous équipés du même
système d'exploitation (windows XP Pro SP2, avec excel 2003).



Encore une derniere chose, un lien en html ne m'intéresse pas. tout
simplement parce que les raccourcis seront déplacés HORS de la feuille
Excel une fois la liste générée.
Voila, j'espère avoir été suffisamment précis quant à mon problème.



---
Je cherche, je cherche... mais un jour, ohh oui un jour, je trouverai !
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
26 déc. 2005 à 19:50
Je ne comprend pas vraiment ton truc... Où, tout du moins, ce que tu veux pouvoir obtenir au final !
Mais si ce que j'ai quand même compris s'avère exacte, je pense que faire ça sous Excel n'est pas la meilleur solution. Mais bon, je peux encore comprendre ce choix de par le fait qu'il est installé sur toutes les machines de destination (ce qui évite d'acheter le VB).

Mais il tu ne peux pas "intégrer" des fichiers dans Excel et t'en servir ainsi comme un classeur de fichiers (un dossier quoi!) !!! C'est même une grâve erreur je pense!

Si ton but est de faire une sorte d'explorateur Windows limité (par tes soins ;-), il y a bien d'autres moyens. Déjà, au lieu d'utiliser une feuille Excel je ne peux que te conseiller d'utiliser une UserForm (d'Excel également donc).
Si tu veux pouvoir exporter une liste de raccourcis (pour on ne sait trop quelle raison d'ailleurs!!!), il y a beaucoup de moyens possibles. Par exemple, il doit très certainement exister une API permettant de générer un raccourcis. Quand bien même il n'en n'existerait pas une, il n'est pas impossible de comprendre la structure de ces fichiers (.lnk) et d'en créer. Tout comme, d'ailleurs, il n'est pas infaisable de te créer ton propre format de raccourcis1...

Bref, il existe des solutions qui ne sont peut-être pas celles que tu t'imaginais au début... mais c'est ça l'évolution

Voilà, je ne peux pas t'en dire d'avantage avec le peu d'informations que j'ai, donc, je te dit : "a la revoyure"

Noyeuse-sTêfes

1) Par exemple, tu peux créer un petit exécutable (via le VB par contre!) qui lirait la ligne de commande et lancerais (via API ou autre) le fichier. Ne resterait plus qu'a intégrer à la base de registre l'assignation à ton programme de ton type de fichier...


<hr size ="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
Eloris Messages postés 3 Date d'inscription samedi 24 décembre 2005 Statut Membre Dernière intervention 28 décembre 2005
28 déc. 2005 à 20:29
En fait, je ne cherche pas à créer un classeur excel contenant des
raccourcis au format "monfichier.lnk", ce que je cherche c'est à créer
une macro permettant :

1- de lister tout ou partie d'un disque dur (c'est fait )

2- de créer des raccourcis pour certains dossier du disque dur listé,
dans le répertoire où est enregistré le classeur excel. Par exemple en
me basant sur les x premiers caractères des noms de dossiers.

Exemple :

la liste excel contient 3 dossiers appelé "URGENT01, URGENT02 et
URGENT03", je veus retrouver donc trois raccourcis "URGENT01.LNK,
URGENT02.LNK et URGENT03.LNK" dans le répertoire du classeur excel.



Sachant que la liste Excel sert de référence et de routine de mise à
jour des raccourcis en cas de modification du contenu du disque

voila ^^


Je cherche, je cherche... mais un jour, ohh oui un jour, je trouverai !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
29 déc. 2005 à 09:40
Autrement dit, ta question est :
"Comment créer, en VBA Excel 2003 sous XPsp2, des fichiers raccourcis ".lnk" dans le dossier du classeur actif via de simples chemins d'accès comme base ?
Existe-t-il une API particulière ou faut-il créer le fichier manuellement et dans ce cas, connaissez-vous le format de ce type de fichiers ???"
Ouf, on y est arrivé !

Ben... pour être tout à fait honnête avec toi, je n'ai pas la solution à ton problème!
Le seul moyen, comme je te l'ai déjà dit, c'est soit de connaître la structure d'un fichier raccourcis et de créer une fonction d'écriture (solution dangereuse!), soit d'utiliser une API windows qui le fera pour toi s'il en existe une!

Autrement dit, ton seul salut repose sur le fait de reposter une question sur le forum. Je te conseille de poster celle que je t'ai proposée (afin d'éliminer d'emblé toutes les questions de base).

Mais pour les API, va jeter un oeil sur "www.progotop.com", le site spécialisé dans le référencement des APIs du grand http://www.vbfrance.com/auteurdetail.aspx?ID=13557' target='_blank'>DarkSidious de VBFrance. Sinon, il y a aussi "www.allapi.net", site anglophone, qui offre les deux logiciels de référence en la matière que sont API-Guide et API-Viewer. Les deux sont donc malheureusement en anglais! Mais une fois que tu as saisi les concepts de base, ils seront très utiles... Par contre, si ce sont les plus complèts, ils ne le sont pas complets! Mais on a rien de mieux alors...
API-Viewer se contente de lister les APIs et leurs déclarations.
API-Guide quant à lui va plus loin en expliquant brievement l'utilité des fonctions et en donnant parfois des codes d'exemple en différents languages dont le VB afin de mieux comprendre leur utilisations (aux API). Mais il est moins complèt que l'API-Viewer.

Bref, c'est à toi de voir...

Et encore désolé de ne pouvoir t'en dire plus...


Enjoy


( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
Rejoignez-nous