Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Raccourcis sur le bureau gérés par Excel VBA

8 réponses
Avatar
Patrick_67
Bonjour à toutes et à tous,

J'ai trouvé plusieurs procédures Excel VBA (associées à des API) permettant
de créer un raccouci sur le bureau. Ce raccourci pointant vers un classeur
Excel.

Excel VBA permet-il aussi :
1. d'associer une icône spécifique au raccourci ainsi créé ?
2. de supprimer un raccourci sur le bureau ?

Merci d'avance de vos réponses...

Patrick

8 réponses

Avatar
Alain CROS
Bonjour.

Sub ChgIconShortcut()
Dim WshShell As Object, Link As Object, LeNom$, LeNouveauIcon$
LeNom = "LeNomduRaccourci" ' a adapter
LeNouveauIcon = "Shell32.dll,8"
Set WshShell = CreateObject("WScript.Shell")
Set Link = WshShell.CreateShortcut(WshShell.SpecialFolders("Desktop") & "" & LeNom & ".lnk")
Link.IconLocation = LeNouveauIcon
Link.Save
Set Link = Nothing
Set WshShell = Nothing
End Sub

Sub DeleteShortCut()
Dim WshShell As Object, FSO As Object, LeNom$
Set WshShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
LeNom = "LeNomduRaccourci" ' a adapter
FSO.DeleteFile WshShell.SpecialFolders("Desktop") & "" & LeNom & ".lnk"
Set FSO = Nothing
Set WshShell = Nothing
End Sub

Alain CROS

"Patrick_67" a écrit dans le message de news: ebCoD$
Bonjour à toutes et à tous,

J'ai trouvé plusieurs procédures Excel VBA (associées à des API) permettant
de créer un raccouci sur le bureau. Ce raccourci pointant vers un classeur
Excel.

Excel VBA permet-il aussi :
1. d'associer une icône spécifique au raccourci ainsi créé ?
2. de supprimer un raccourci sur le bureau ?

Merci d'avance de vos réponses...

Patrick




Avatar
j
on peut faire tout ça
http://jacxl.free.fr/cours_xl/raccourci.html



"Patrick_67" a écrit dans le message de news:
ebCoD$
Bonjour à toutes et à tous,

J'ai trouvé plusieurs procédures Excel VBA (associées à des API)
permettant

de créer un raccouci sur le bureau. Ce raccourci pointant vers un classeur
Excel.

Excel VBA permet-il aussi :
1. d'associer une icône spécifique au raccourci ainsi créé ?
2. de supprimer un raccourci sur le bureau ?

Merci d'avance de vos réponses...

Patrick




Avatar
Patrick_67
Merci pour ces infos. Vais essayer tout cela dès que possible...


"Patrick_67" a écrit dans le message de news:
ebCoD$
Bonjour à toutes et à tous,

J'ai trouvé plusieurs procédures Excel VBA (associées à des API)
permettant de créer un raccouci sur le bureau. Ce raccourci pointant vers
un classeur Excel.

Excel VBA permet-il aussi :
1. d'associer une icône spécifique au raccourci ainsi créé ?
2. de supprimer un raccourci sur le bureau ?

Merci d'avance de vos réponses...

Patrick



Avatar
Patrick_67
Rebonjour,

Si j'ai bien compris, le 8 de l'instruction "Shell32.dll,8" correspondrait à
la 9ème icône de la DLL (numérotation commençant à 0)...

Y-a-t-il un moyen simple de connaître la correspondance entre les icônes
possibles et leur numéros ?

Merci à nouveau !

"Alain CROS" a écrit dans le message de news:
%
Bonjour.

Sub ChgIconShortcut()
Dim WshShell As Object, Link As Object, LeNom$, LeNouveauIcon$
LeNom = "LeNomduRaccourci" ' a adapter
LeNouveauIcon = "Shell32.dll,8"
Set WshShell = CreateObject("WScript.Shell")
Set Link = WshShell.CreateShortcut(WshShell.SpecialFolders("Desktop") &
"" & LeNom & ".lnk")
Link.IconLocation = LeNouveauIcon
Link.Save
Set Link = Nothing
Set WshShell = Nothing
End Sub

Sub DeleteShortCut()
Dim WshShell As Object, FSO As Object, LeNom$
Set WshShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
LeNom = "LeNomduRaccourci" ' a adapter
FSO.DeleteFile WshShell.SpecialFolders("Desktop") & "" & LeNom &
".lnk"
Set FSO = Nothing
Set WshShell = Nothing
End Sub

Alain CROS

"Patrick_67" a écrit dans le message de news:
ebCoD$
Bonjour à toutes et à tous,

J'ai trouvé plusieurs procédures Excel VBA (associées à des API)
permettant
de créer un raccouci sur le bureau. Ce raccourci pointant vers un
classeur
Excel.

Excel VBA permet-il aussi :
1. d'associer une icône spécifique au raccourci ainsi créé ?
2. de supprimer un raccourci sur le bureau ?

Merci d'avance de vos réponses...

Patrick








Avatar
Misange
Bonjour
regarde ici
http://www.excelabo.net/moteurs/compteclic.php?nom=icones-xl
(tape aussi icone dans le moteur d'excelabo, tu trouveras d'autres trucs
sympas)

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

Le 02/05/2005 23:50, :
Rebonjour,

Si j'ai bien compris, le 8 de l'instruction "Shell32.dll,8" correspondrait à
la 9ème icône de la DLL (numérotation commençant à 0)...

Y-a-t-il un moyen simple de connaître la correspondance entre les icônes
possibles et leur numéros ?

Merci à nouveau !

"Alain CROS" a écrit dans le message de news:
%

Bonjour.

Sub ChgIconShortcut()
Dim WshShell As Object, Link As Object, LeNom$, LeNouveauIcon$
LeNom = "LeNomduRaccourci" ' a adapter
LeNouveauIcon = "Shell32.dll,8"
Set WshShell = CreateObject("WScript.Shell")
Set Link = WshShell.CreateShortcut(WshShell.SpecialFolders("Desktop") &
"" & LeNom & ".lnk")
Link.IconLocation = LeNouveauIcon
Link.Save
Set Link = Nothing
Set WshShell = Nothing
End Sub

Sub DeleteShortCut()
Dim WshShell As Object, FSO As Object, LeNom$
Set WshShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
LeNom = "LeNomduRaccourci" ' a adapter
FSO.DeleteFile WshShell.SpecialFolders("Desktop") & "" & LeNom &
".lnk"
Set FSO = Nothing
Set WshShell = Nothing
End Sub

Alain CROS

"Patrick_67" a écrit dans le message de news:
ebCoD$

Bonjour à toutes et à tous,

J'ai trouvé plusieurs procédures Excel VBA (associées à des API)
permettant
de créer un raccouci sur le bureau. Ce raccourci pointant vers un
classeur
Excel.

Excel VBA permet-il aussi :
1. d'associer une icône spécifique au raccourci ainsi créé ?
2. de supprimer un raccourci sur le bureau ?

Merci d'avance de vos réponses...

Patrick












Avatar
Patrick_67
Mmerci Misange pour le lien vers FaceID. Je le connaissais déjà car
j'utilise régulièrement les FaceID. Par contre, ces icônes là ne
correspondent pas aux icônes des raccourcis sur le bureau.

Une autre piste peut-être ?

"Misange" a écrit dans le message de news:

Bonjour
regarde ici
http://www.excelabo.net/moteurs/compteclic.php?nom=icones-xl
(tape aussi icone dans le moteur d'excelabo, tu trouveras d'autres trucs
sympas)

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

Le 02/05/2005 23:50, :
Rebonjour,

Si j'ai bien compris, le 8 de l'instruction "Shell32.dll,8"
correspondrait à la 9ème icône de la DLL (numérotation commençant à 0)...

Y-a-t-il un moyen simple de connaître la correspondance entre les icônes
possibles et leur numéros ?

Merci à nouveau !

"Alain CROS" a écrit dans le message de news:
%

Bonjour.

Sub ChgIconShortcut()
Dim WshShell As Object, Link As Object, LeNom$, LeNouveauIcon$
LeNom = "LeNomduRaccourci" ' a adapter
LeNouveauIcon = "Shell32.dll,8"
Set WshShell = CreateObject("WScript.Shell")
Set Link = WshShell.CreateShortcut(WshShell.SpecialFolders("Desktop")
& "" & LeNom & ".lnk")
Link.IconLocation = LeNouveauIcon
Link.Save
Set Link = Nothing
Set WshShell = Nothing
End Sub

Sub DeleteShortCut()
Dim WshShell As Object, FSO As Object, LeNom$
Set WshShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
LeNom = "LeNomduRaccourci" ' a adapter
FSO.DeleteFile WshShell.SpecialFolders("Desktop") & "" & LeNom &
".lnk"
Set FSO = Nothing
Set WshShell = Nothing
End Sub

Alain CROS

"Patrick_67" a écrit dans le message de news:
ebCoD$

Bonjour à toutes et à tous,

J'ai trouvé plusieurs procédures Excel VBA (associées à des API)
permettant
de créer un raccouci sur le bureau. Ce raccourci pointant vers un
classeur
Excel.

Excel VBA permet-il aussi :
1. d'associer une icône spécifique au raccourci ainsi créé ?
2. de supprimer un raccourci sur le bureau ?

Merci d'avance de vos réponses...

Patrick













Avatar
Alain CROS
Bonjour.

Essayer ça !
Fonctionne chez moi sur Win98.

Private Declare Function SHChangeIconDialog& _
Lib "shell32" Alias "#62" _
(ByVal hOwner&, ByVal szFilename$, ByVal Reserved&, ByRef lpIconIndex&)

Sub Icon_Patrick_67()
Const MAX_PATH& = 260&
Dim Fich$, IconID&, Titre$
Titre = "Fichier Icon et index"
Fich = vbNullChar & Space$(MAX_PATH) 'SHELL32.dll par défaut
IconID = 23&
If SHChangeIconDialog(0&, Fich, 0&, IconID) Then
MsgBox "Nom du fichier : " & vbNewLine & Left$(Fich, _
InStr(Fich, vbNullChar) - 1&) & vbNewLine & vbNewLine & _
"Index de l'icon :" & vbTab & IconID, vbInformation, Titre
Else
MsgBox "Opération annulée", vbCritical, Titre
End If
End Sub

Alain CROS

"Patrick_67" a écrit dans le message de news:
Rebonjour,

Si j'ai bien compris, le 8 de l'instruction "Shell32.dll,8" correspondrait à
la 9ème icône de la DLL (numérotation commençant à 0)...

Y-a-t-il un moyen simple de connaître la correspondance entre les icônes
possibles et leur numéros ?

Merci à nouveau !



Avatar
Patrick_67
Merci Alain pour ce code VBA.

Cela fonctionne très bien à un détail près : l'affichage du n° d'icone est
systématiquement précédé du message d'erreur : "Impossible de trouver le
fichier +++++++++".

Ceci dit, le n° de l'icône cliquée apparaît bien ensuite...

L'idéal serait maintenant de pouvoir boucler sur toutes les icônes du
fichier afin d'en faire une liste exhaustive avec le dessin de l'icône en
1er et son Indice en 2ème.


"Alain CROS" a écrit dans le message de news:

Bonjour.

Essayer ça !
Fonctionne chez moi sur Win98.

Private Declare Function SHChangeIconDialog& _
Lib "shell32" Alias "#62" _
(ByVal hOwner&, ByVal szFilename$, ByVal Reserved&, ByRef lpIconIndex&)

Sub Icon_Patrick_67()
Const MAX_PATH& = 260&
Dim Fich$, IconID&, Titre$
Titre = "Fichier Icon et index"
Fich = vbNullChar & Space$(MAX_PATH) 'SHELL32.dll par défaut
IconID = 23&
If SHChangeIconDialog(0&, Fich, 0&, IconID) Then
MsgBox "Nom du fichier : " & vbNewLine & Left$(Fich, _
InStr(Fich, vbNullChar) - 1&) & vbNewLine & vbNewLine & _
"Index de l'icon :" & vbTab & IconID, vbInformation, Titre
Else
MsgBox "Opération annulée", vbCritical, Titre
End If
End Sub

Alain CROS

"Patrick_67" a écrit dans le message de news:

Rebonjour,

Si j'ai bien compris, le 8 de l'instruction "Shell32.dll,8"
correspondrait à
la 9ème icône de la DLL (numérotation commençant à 0)...

Y-a-t-il un moyen simple de connaître la correspondance entre les icônes
possibles et leur numéros ?

Merci à nouveau !