cartoiide
Habitué
Bonjour,
En me balladant sur plusieurs forum j'ai trouvé ce code qui doit me permettre de modifier l'icone du classeur Excel dans la barre de tâche (lorsque l'on réduit le classeur) et changer le nom affiché dans cette barre.
Je ne parviens pourtant pas à le faire fonctionner car je ne sais pas quel nom donner à l'image du userform (Name) ?
Merci d'avance pour vos réponses.
Voici le texte du post évoqué ci-dessus et le code qui était proposé :
"A) Création d'un UserForm
1) Créez un UserForm et mettez sa propriété (Name) = UF
2) Insérez un contrôle Image et affectez à sa propriété Picture
l'icône de votre choix
B) Code à copier dans un module standard
[cpp]
Private Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetClassLongA Lib "user32" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetClassLongA Lib "user32" _
(ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Private Declare Function LoadImageA Lib "user32" _
(ByVal hInst As Long, ByVal lpsz As String, ByVal un1 As Long, _
ByVal n1 As Long, ByVal n2 As Long, ByVal un2 As Long) As Long
Dim HIcon As Long
Dim hWnd As Long
Sub IconeNomAppli_PMO()
Dim MonIcone As Control
'---- Change l'icône d'Excel en cherchant ----
'---- une icône stockée dans un formulaire ----
Set MonIcone = UF.Controls(0)
hWnd = FindWindowA(vbNullString, Application.Caption)
HIcon = GetClassLongA(hWnd, -14)
SetClassLongA hWnd, -14, MonIcone.Picture
'---- Change le nom de l'application ----
Application.Caption = "Personnalisée" 'à adapter
End Sub
[/cpp]
"Lancez la macro IconeNomAppli_PMO.
Vous pouvez, si vous le voulez, appeler cette macro à partir
de l'évènement Workbook_Open avec le code suivant
à copier dans l'évènementiel de ThisWorkbook"
[cpp]
Private Sub Workbook_Open()
Call IconeNomAppli_PMO
End Sub
[/cpp]
En me balladant sur plusieurs forum j'ai trouvé ce code qui doit me permettre de modifier l'icone du classeur Excel dans la barre de tâche (lorsque l'on réduit le classeur) et changer le nom affiché dans cette barre.
Je ne parviens pourtant pas à le faire fonctionner car je ne sais pas quel nom donner à l'image du userform (Name) ?
Merci d'avance pour vos réponses.
Voici le texte du post évoqué ci-dessus et le code qui était proposé :
"A) Création d'un UserForm
1) Créez un UserForm et mettez sa propriété (Name) = UF
2) Insérez un contrôle Image et affectez à sa propriété Picture
l'icône de votre choix
B) Code à copier dans un module standard
[cpp]
Private Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetClassLongA Lib "user32" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetClassLongA Lib "user32" _
(ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Private Declare Function LoadImageA Lib "user32" _
(ByVal hInst As Long, ByVal lpsz As String, ByVal un1 As Long, _
ByVal n1 As Long, ByVal n2 As Long, ByVal un2 As Long) As Long
Dim HIcon As Long
Dim hWnd As Long
Sub IconeNomAppli_PMO()
Dim MonIcone As Control
'---- Change l'icône d'Excel en cherchant ----
'---- une icône stockée dans un formulaire ----
Set MonIcone = UF.Controls(0)
hWnd = FindWindowA(vbNullString, Application.Caption)
HIcon = GetClassLongA(hWnd, -14)
SetClassLongA hWnd, -14, MonIcone.Picture
'---- Change le nom de l'application ----
Application.Caption = "Personnalisée" 'à adapter
End Sub
[/cpp]
"Lancez la macro IconeNomAppli_PMO.
Vous pouvez, si vous le voulez, appeler cette macro à partir
de l'évènement Workbook_Open avec le code suivant
à copier dans l'évènementiel de ThisWorkbook"
[cpp]
Private Sub Workbook_Open()
Call IconeNomAppli_PMO
End Sub
[/cpp]