Bonjour !
Je souhaite créer un menu contextuel qui :
. présente les couleurs d'une palette perso
. remplisse la case cliquée (clic droit) avec la couleur sélectionnée.
J'ai rédigé ce code (en pompant généreusement l'aide Excel et Fredéric
Sigonneau !) :
'élimine les contrôles du menu contextuel cellule
For Each icbc In Application.CommandBars("Cell").Controls
icbc.Delete
Next icbc
'ajoute les options de couleur
For i = nb_couleurs To 1 Step -1
With Application.CommandBars("Cell").Controls _
.Add(Type:=msoControlButton, before:=1, temporary:=True)
.Caption = "Couleur " & i
.OnAction = "affecter_couleur" & i 'peu élégant mais
ça marche
.Tag = "couleur" & i
Cells(l1, c1 - 1 + i).Copy 'va
chercher la couleur sur la feuille Excel
.PasteFace
End With
Next
Cette solution ne marche pas. Les couleurs ne sont pas copiées du
presse-papier vers le bouton.Tous les boutons apparaissent blancs.
Par ailleurs, je préférerais ne pas avoir de "caption", juste les couleurs.
Comment faire ?
Bonjour !
Je souhaite créer un menu contextuel qui :
. présente les couleurs d'une palette perso
. remplisse la case cliquée (clic droit) avec la couleur sélectionnée.
J'ai rédigé ce code (en pompant généreusement l'aide Excel et Fredéric
Sigonneau !) :
'élimine les contrôles du menu contextuel cellule
For Each icbc In Application.CommandBars("Cell").Controls
icbc.Delete
Next icbc
'ajoute les options de couleur
For i = nb_couleurs To 1 Step -1
With Application.CommandBars("Cell").Controls _
.Add(Type:=msoControlButton, before:=1, temporary:=True)
.Caption = "Couleur " & i
.OnAction = "affecter_couleur" & i 'peu élégant mais
ça marche
.Tag = "couleur" & i
Cells(l1, c1 - 1 + i).Copy 'va
chercher la couleur sur la feuille Excel
.PasteFace
End With
Next
Cette solution ne marche pas. Les couleurs ne sont pas copiées du
presse-papier vers le bouton.Tous les boutons apparaissent blancs.
Par ailleurs, je préférerais ne pas avoir de "caption", juste les couleurs.
Comment faire ?
Bonjour !
Je souhaite créer un menu contextuel qui :
. présente les couleurs d'une palette perso
. remplisse la case cliquée (clic droit) avec la couleur sélectionnée.
J'ai rédigé ce code (en pompant généreusement l'aide Excel et Fredéric
Sigonneau !) :
'élimine les contrôles du menu contextuel cellule
For Each icbc In Application.CommandBars("Cell").Controls
icbc.Delete
Next icbc
'ajoute les options de couleur
For i = nb_couleurs To 1 Step -1
With Application.CommandBars("Cell").Controls _
.Add(Type:=msoControlButton, before:=1, temporary:=True)
.Caption = "Couleur " & i
.OnAction = "affecter_couleur" & i 'peu élégant mais
ça marche
.Tag = "couleur" & i
Cells(l1, c1 - 1 + i).Copy 'va
chercher la couleur sur la feuille Excel
.PasteFace
End With
Next
Cette solution ne marche pas. Les couleurs ne sont pas copiées du
presse-papier vers le bouton.Tous les boutons apparaissent blancs.
Par ailleurs, je préférerais ne pas avoir de "caption", juste les couleurs.
Comment faire ?
bonjour,
tu trouveras un exemple à télécharger mettant en oeuvre une macro de
Laurent Longre sur excelabo
http://www.excelabo.net/moteurs/compteclic.php?nomü-couleurs
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
on 13/09/2004 09:56:Bonjour !
Je souhaite créer un menu contextuel qui :
. présente les couleurs d'une palette perso
. remplisse la case cliquée (clic droit) avec la couleur
sélectionnée.
J'ai rédigé ce code (en pompant généreusement l'aide Excel et Fredéric
Sigonneau !) :
'élimine les contrôles du menu contextuel cellule
For Each icbc In Application.CommandBars("Cell").Controls
icbc.Delete
Next icbc
'ajoute les options de couleur
For i = nb_couleurs To 1 Step -1
With Application.CommandBars("Cell").Controls _
.Add(Type:=msoControlButton, before:=1, temporary:=True)
.Caption = "Couleur " & i
.OnAction = "affecter_couleur" & i 'peu élégant
mais
ça marche
.Tag = "couleur" & i
Cells(l1, c1 - 1 + i).Copy 'va
chercher la couleur sur la feuille Excel
.PasteFace
End With
Next
Cette solution ne marche pas. Les couleurs ne sont pas copiées du
presse-papier vers le bouton.Tous les boutons apparaissent blancs.
Par ailleurs, je préférerais ne pas avoir de "caption", juste les
couleurs.
Comment faire ?
bonjour,
tu trouveras un exemple à télécharger mettant en oeuvre une macro de
Laurent Longre sur excelabo
http://www.excelabo.net/moteurs/compteclic.php?nomü-couleurs
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
on 13/09/2004 09:56:
Bonjour !
Je souhaite créer un menu contextuel qui :
. présente les couleurs d'une palette perso
. remplisse la case cliquée (clic droit) avec la couleur
sélectionnée.
J'ai rédigé ce code (en pompant généreusement l'aide Excel et Fredéric
Sigonneau !) :
'élimine les contrôles du menu contextuel cellule
For Each icbc In Application.CommandBars("Cell").Controls
icbc.Delete
Next icbc
'ajoute les options de couleur
For i = nb_couleurs To 1 Step -1
With Application.CommandBars("Cell").Controls _
.Add(Type:=msoControlButton, before:=1, temporary:=True)
.Caption = "Couleur " & i
.OnAction = "affecter_couleur" & i 'peu élégant
mais
ça marche
.Tag = "couleur" & i
Cells(l1, c1 - 1 + i).Copy 'va
chercher la couleur sur la feuille Excel
.PasteFace
End With
Next
Cette solution ne marche pas. Les couleurs ne sont pas copiées du
presse-papier vers le bouton.Tous les boutons apparaissent blancs.
Par ailleurs, je préférerais ne pas avoir de "caption", juste les
couleurs.
Comment faire ?
bonjour,
tu trouveras un exemple à télécharger mettant en oeuvre une macro de
Laurent Longre sur excelabo
http://www.excelabo.net/moteurs/compteclic.php?nomü-couleurs
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
on 13/09/2004 09:56:Bonjour !
Je souhaite créer un menu contextuel qui :
. présente les couleurs d'une palette perso
. remplisse la case cliquée (clic droit) avec la couleur
sélectionnée.
J'ai rédigé ce code (en pompant généreusement l'aide Excel et Fredéric
Sigonneau !) :
'élimine les contrôles du menu contextuel cellule
For Each icbc In Application.CommandBars("Cell").Controls
icbc.Delete
Next icbc
'ajoute les options de couleur
For i = nb_couleurs To 1 Step -1
With Application.CommandBars("Cell").Controls _
.Add(Type:=msoControlButton, before:=1, temporary:=True)
.Caption = "Couleur " & i
.OnAction = "affecter_couleur" & i 'peu élégant
mais
ça marche
.Tag = "couleur" & i
Cells(l1, c1 - 1 + i).Copy 'va
chercher la couleur sur la feuille Excel
.PasteFace
End With
Next
Cette solution ne marche pas. Les couleurs ne sont pas copiées du
presse-papier vers le bouton.Tous les boutons apparaissent blancs.
Par ailleurs, je préférerais ne pas avoir de "caption", juste les
couleurs.
Comment faire ?
Merci Misange !
J'ai regardé ce code hyper-pro... et je vais tenter d'y trouver mon bonheur.
Ce que je cherche à faire est un peu différent.
Je fais remplir un questionnaire. Les réponses sont des couleurs. Elles sont
en nombre limité, variable d'une fois sur l'autre. Cela va de trois couleurs
à cinq dans tous les cas normaux, plus les deux non-réponses (ne sait pas
répondre, ne veut pas répondre). Ce nombre variable de couleurs correspond à
une palette variable, mais fixée par le questionnaire. Par exemple,
vert/jaune/rouge + blanc/gris.
Dans ce cas, je souhaite faire apparaître par clic droit ces cinq couleurs
et surtout rien de plus, palette que je dois donc aller chercher sur la
feuille...
En plus (comme on peut être exigeant...), j'aurais préféré un menu
contextuel très sobre plutôt qu'un user-form...
Patrick
PS. J'apprécie bcp Excelabo que j'ai bien pratiqué pour mon projet. Merci
mille fois !
"Misange" a écrit dans le message de
news:bonjour,
tu trouveras un exemple à télécharger mettant en oeuvre une macro de
Laurent Longre sur excelabo
http://www.excelabo.net/moteurs/compteclic.php?nomü-couleurs
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
on 13/09/2004 09:56:Bonjour !
Je souhaite créer un menu contextuel qui :
. présente les couleurs d'une palette perso
. remplisse la case cliquée (clic droit) avec la couleur
sélectionnée.J'ai rédigé ce code (en pompant généreusement l'aide Excel et Fredéric
Sigonneau !) :
'élimine les contrôles du menu contextuel cellule
For Each icbc In Application.CommandBars("Cell").Controls
icbc.Delete
Next icbc
'ajoute les options de couleur
For i = nb_couleurs To 1 Step -1
With Application.CommandBars("Cell").Controls _
.Add(Type:=msoControlButton, before:=1, temporary:=True)
.Caption = "Couleur " & i
.OnAction = "affecter_couleur" & i 'peu élégant
maisça marche
.Tag = "couleur" & i
Cells(l1, c1 - 1 + i).Copy 'va
chercher la couleur sur la feuille Excel
.PasteFace
End With
Next
Cette solution ne marche pas. Les couleurs ne sont pas copiées du
presse-papier vers le bouton.Tous les boutons apparaissent blancs.
Par ailleurs, je préférerais ne pas avoir de "caption", juste les
couleurs.Comment faire ?
Merci Misange !
J'ai regardé ce code hyper-pro... et je vais tenter d'y trouver mon bonheur.
Ce que je cherche à faire est un peu différent.
Je fais remplir un questionnaire. Les réponses sont des couleurs. Elles sont
en nombre limité, variable d'une fois sur l'autre. Cela va de trois couleurs
à cinq dans tous les cas normaux, plus les deux non-réponses (ne sait pas
répondre, ne veut pas répondre). Ce nombre variable de couleurs correspond à
une palette variable, mais fixée par le questionnaire. Par exemple,
vert/jaune/rouge + blanc/gris.
Dans ce cas, je souhaite faire apparaître par clic droit ces cinq couleurs
et surtout rien de plus, palette que je dois donc aller chercher sur la
feuille...
En plus (comme on peut être exigeant...), j'aurais préféré un menu
contextuel très sobre plutôt qu'un user-form...
Patrick
PS. J'apprécie bcp Excelabo que j'ai bien pratiqué pour mon projet. Merci
mille fois !
"Misange" <misange@devinez-ou.net> a écrit dans le message de
news:unH0qpWmEHA.3156@TK2MSFTNGP12.phx.gbl...
bonjour,
tu trouveras un exemple à télécharger mettant en oeuvre une macro de
Laurent Longre sur excelabo
http://www.excelabo.net/moteurs/compteclic.php?nomü-couleurs
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
on 13/09/2004 09:56:
Bonjour !
Je souhaite créer un menu contextuel qui :
. présente les couleurs d'une palette perso
. remplisse la case cliquée (clic droit) avec la couleur
sélectionnée.
J'ai rédigé ce code (en pompant généreusement l'aide Excel et Fredéric
Sigonneau !) :
'élimine les contrôles du menu contextuel cellule
For Each icbc In Application.CommandBars("Cell").Controls
icbc.Delete
Next icbc
'ajoute les options de couleur
For i = nb_couleurs To 1 Step -1
With Application.CommandBars("Cell").Controls _
.Add(Type:=msoControlButton, before:=1, temporary:=True)
.Caption = "Couleur " & i
.OnAction = "affecter_couleur" & i 'peu élégant
mais
ça marche
.Tag = "couleur" & i
Cells(l1, c1 - 1 + i).Copy 'va
chercher la couleur sur la feuille Excel
.PasteFace
End With
Next
Cette solution ne marche pas. Les couleurs ne sont pas copiées du
presse-papier vers le bouton.Tous les boutons apparaissent blancs.
Par ailleurs, je préférerais ne pas avoir de "caption", juste les
couleurs.
Comment faire ?
Merci Misange !
J'ai regardé ce code hyper-pro... et je vais tenter d'y trouver mon bonheur.
Ce que je cherche à faire est un peu différent.
Je fais remplir un questionnaire. Les réponses sont des couleurs. Elles sont
en nombre limité, variable d'une fois sur l'autre. Cela va de trois couleurs
à cinq dans tous les cas normaux, plus les deux non-réponses (ne sait pas
répondre, ne veut pas répondre). Ce nombre variable de couleurs correspond à
une palette variable, mais fixée par le questionnaire. Par exemple,
vert/jaune/rouge + blanc/gris.
Dans ce cas, je souhaite faire apparaître par clic droit ces cinq couleurs
et surtout rien de plus, palette que je dois donc aller chercher sur la
feuille...
En plus (comme on peut être exigeant...), j'aurais préféré un menu
contextuel très sobre plutôt qu'un user-form...
Patrick
PS. J'apprécie bcp Excelabo que j'ai bien pratiqué pour mon projet. Merci
mille fois !
"Misange" a écrit dans le message de
news:bonjour,
tu trouveras un exemple à télécharger mettant en oeuvre une macro de
Laurent Longre sur excelabo
http://www.excelabo.net/moteurs/compteclic.php?nomü-couleurs
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
on 13/09/2004 09:56:Bonjour !
Je souhaite créer un menu contextuel qui :
. présente les couleurs d'une palette perso
. remplisse la case cliquée (clic droit) avec la couleur
sélectionnée.J'ai rédigé ce code (en pompant généreusement l'aide Excel et Fredéric
Sigonneau !) :
'élimine les contrôles du menu contextuel cellule
For Each icbc In Application.CommandBars("Cell").Controls
icbc.Delete
Next icbc
'ajoute les options de couleur
For i = nb_couleurs To 1 Step -1
With Application.CommandBars("Cell").Controls _
.Add(Type:=msoControlButton, before:=1, temporary:=True)
.Caption = "Couleur " & i
.OnAction = "affecter_couleur" & i 'peu élégant
maisça marche
.Tag = "couleur" & i
Cells(l1, c1 - 1 + i).Copy 'va
chercher la couleur sur la feuille Excel
.PasteFace
End With
Next
Cette solution ne marche pas. Les couleurs ne sont pas copiées du
presse-papier vers le bouton.Tous les boutons apparaissent blancs.
Par ailleurs, je préférerais ne pas avoir de "caption", juste les
couleurs.Comment faire ?
Bonsoir,
Tu pourrais extrapoler un peu à partir du bout de code ci-dessous. Pour donner
le résultat attendu, tu dois d'abord créer, avec paint par exemple, un petit
bitmap de 16x16 ou 32x32, de couleur verte. Ensuite, recopie le code dans un
module standard du classeur qui t'intéresse, change l'adresse du fichier .bmp
pour celle de ton fichier vert sur ton disque dur et exécute la procédure
CreateMenuCouleurs. Enfin, dans Excel, clique droit sur une cellule et choisis
dans le menu 'Choix couleurs' la commande verte (c'est la seule de tout façon :).
'======================== > Sub CreateMenuCouleurs()
Dim MonMenu
Dim imgVert As IPictureDisp
DelMenuCouleurs
Set MonMenu = Application.CommandBars("Cell").Controls.Add(Type:=msoControlPopup)
MonMenu.Caption = "Choix couleurs"
Set imgVert = stdole.StdFunctions.LoadPicture("D:Vert2.bmp")
With MonMenu.Controls.Add(msoControlButton)
.Picture = imgVert
.OnAction = "MacroExempleVert"
End With
End Sub
Sub DelMenuCouleurs()
On Error Resume Next
Application.CommandBars("Cell").Controls("Choix couleurs").Delete
End Sub
Sub MacroExempleVert()
ActiveCell.Interior.Color = vbGreen
End Sub
'======================== >
Note : ce code fonctionne avec Excel 2002 et sans doute 2003. Pour 97 et 2000 je
ne sais pas.
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Merci Misange !
J'ai regardé ce code hyper-pro... et je vais tenter d'y trouver mon bonheur.
Ce que je cherche à faire est un peu différent.
Je fais remplir un questionnaire. Les réponses sont des couleurs. Elles sont
en nombre limité, variable d'une fois sur l'autre. Cela va de trois couleurs
à cinq dans tous les cas normaux, plus les deux non-réponses (ne sait pas
répondre, ne veut pas répondre). Ce nombre variable de couleurs correspond à
une palette variable, mais fixée par le questionnaire. Par exemple,
vert/jaune/rouge + blanc/gris.
Dans ce cas, je souhaite faire apparaître par clic droit ces cinq couleurs
et surtout rien de plus, palette que je dois donc aller chercher sur la
feuille...
En plus (comme on peut être exigeant...), j'aurais préféré un menu
contextuel très sobre plutôt qu'un user-form...
Patrick
PS. J'apprécie bcp Excelabo que j'ai bien pratiqué pour mon projet. Merci
mille fois !
"Misange" a écrit dans le message de
news:bonjour,
tu trouveras un exemple à télécharger mettant en oeuvre une macro de
Laurent Longre sur excelabo
http://www.excelabo.net/moteurs/compteclic.php?nomü-couleurs
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
on 13/09/2004 09:56:Bonjour !
Je souhaite créer un menu contextuel qui :
. présente les couleurs d'une palette perso
. remplisse la case cliquée (clic droit) avec la couleur
sélectionnée.J'ai rédigé ce code (en pompant généreusement l'aide Excel et Fredéric
Sigonneau !) :
'élimine les contrôles du menu contextuel cellule
For Each icbc In Application.CommandBars("Cell").Controls
icbc.Delete
Next icbc
'ajoute les options de couleur
For i = nb_couleurs To 1 Step -1
With Application.CommandBars("Cell").Controls _
.Add(Type:=msoControlButton, before:=1, temporary:=True)
.Caption = "Couleur " & i
.OnAction = "affecter_couleur" & i 'peu élégant
maisça marche
.Tag = "couleur" & i
Cells(l1, c1 - 1 + i).Copy 'va
chercher la couleur sur la feuille Excel
.PasteFace
End With
Next
Cette solution ne marche pas. Les couleurs ne sont pas copiées du
presse-papier vers le bouton.Tous les boutons apparaissent blancs.
Par ailleurs, je préférerais ne pas avoir de "caption", juste les
couleurs.Comment faire ?
Bonsoir,
Tu pourrais extrapoler un peu à partir du bout de code ci-dessous. Pour donner
le résultat attendu, tu dois d'abord créer, avec paint par exemple, un petit
bitmap de 16x16 ou 32x32, de couleur verte. Ensuite, recopie le code dans un
module standard du classeur qui t'intéresse, change l'adresse du fichier .bmp
pour celle de ton fichier vert sur ton disque dur et exécute la procédure
CreateMenuCouleurs. Enfin, dans Excel, clique droit sur une cellule et choisis
dans le menu 'Choix couleurs' la commande verte (c'est la seule de tout façon :).
'======================== > Sub CreateMenuCouleurs()
Dim MonMenu
Dim imgVert As IPictureDisp
DelMenuCouleurs
Set MonMenu = Application.CommandBars("Cell").Controls.Add(Type:=msoControlPopup)
MonMenu.Caption = "Choix couleurs"
Set imgVert = stdole.StdFunctions.LoadPicture("D:Vert2.bmp")
With MonMenu.Controls.Add(msoControlButton)
.Picture = imgVert
.OnAction = "MacroExempleVert"
End With
End Sub
Sub DelMenuCouleurs()
On Error Resume Next
Application.CommandBars("Cell").Controls("Choix couleurs").Delete
End Sub
Sub MacroExempleVert()
ActiveCell.Interior.Color = vbGreen
End Sub
'======================== >
Note : ce code fonctionne avec Excel 2002 et sans doute 2003. Pour 97 et 2000 je
ne sais pas.
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Merci Misange !
J'ai regardé ce code hyper-pro... et je vais tenter d'y trouver mon bonheur.
Ce que je cherche à faire est un peu différent.
Je fais remplir un questionnaire. Les réponses sont des couleurs. Elles sont
en nombre limité, variable d'une fois sur l'autre. Cela va de trois couleurs
à cinq dans tous les cas normaux, plus les deux non-réponses (ne sait pas
répondre, ne veut pas répondre). Ce nombre variable de couleurs correspond à
une palette variable, mais fixée par le questionnaire. Par exemple,
vert/jaune/rouge + blanc/gris.
Dans ce cas, je souhaite faire apparaître par clic droit ces cinq couleurs
et surtout rien de plus, palette que je dois donc aller chercher sur la
feuille...
En plus (comme on peut être exigeant...), j'aurais préféré un menu
contextuel très sobre plutôt qu'un user-form...
Patrick
PS. J'apprécie bcp Excelabo que j'ai bien pratiqué pour mon projet. Merci
mille fois !
"Misange" <misange@devinez-ou.net> a écrit dans le message de
news:unH0qpWmEHA.3156@TK2MSFTNGP12.phx.gbl...
bonjour,
tu trouveras un exemple à télécharger mettant en oeuvre une macro de
Laurent Longre sur excelabo
http://www.excelabo.net/moteurs/compteclic.php?nomü-couleurs
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
on 13/09/2004 09:56:
Bonjour !
Je souhaite créer un menu contextuel qui :
. présente les couleurs d'une palette perso
. remplisse la case cliquée (clic droit) avec la couleur
sélectionnée.
J'ai rédigé ce code (en pompant généreusement l'aide Excel et Fredéric
Sigonneau !) :
'élimine les contrôles du menu contextuel cellule
For Each icbc In Application.CommandBars("Cell").Controls
icbc.Delete
Next icbc
'ajoute les options de couleur
For i = nb_couleurs To 1 Step -1
With Application.CommandBars("Cell").Controls _
.Add(Type:=msoControlButton, before:=1, temporary:=True)
.Caption = "Couleur " & i
.OnAction = "affecter_couleur" & i 'peu élégant
mais
ça marche
.Tag = "couleur" & i
Cells(l1, c1 - 1 + i).Copy 'va
chercher la couleur sur la feuille Excel
.PasteFace
End With
Next
Cette solution ne marche pas. Les couleurs ne sont pas copiées du
presse-papier vers le bouton.Tous les boutons apparaissent blancs.
Par ailleurs, je préférerais ne pas avoir de "caption", juste les
couleurs.
Comment faire ?
Bonsoir,
Tu pourrais extrapoler un peu à partir du bout de code ci-dessous. Pour donner
le résultat attendu, tu dois d'abord créer, avec paint par exemple, un petit
bitmap de 16x16 ou 32x32, de couleur verte. Ensuite, recopie le code dans un
module standard du classeur qui t'intéresse, change l'adresse du fichier .bmp
pour celle de ton fichier vert sur ton disque dur et exécute la procédure
CreateMenuCouleurs. Enfin, dans Excel, clique droit sur une cellule et choisis
dans le menu 'Choix couleurs' la commande verte (c'est la seule de tout façon :).
'======================== > Sub CreateMenuCouleurs()
Dim MonMenu
Dim imgVert As IPictureDisp
DelMenuCouleurs
Set MonMenu = Application.CommandBars("Cell").Controls.Add(Type:=msoControlPopup)
MonMenu.Caption = "Choix couleurs"
Set imgVert = stdole.StdFunctions.LoadPicture("D:Vert2.bmp")
With MonMenu.Controls.Add(msoControlButton)
.Picture = imgVert
.OnAction = "MacroExempleVert"
End With
End Sub
Sub DelMenuCouleurs()
On Error Resume Next
Application.CommandBars("Cell").Controls("Choix couleurs").Delete
End Sub
Sub MacroExempleVert()
ActiveCell.Interior.Color = vbGreen
End Sub
'======================== >
Note : ce code fonctionne avec Excel 2002 et sans doute 2003. Pour 97 et 2000 je
ne sais pas.
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Merci Misange !
J'ai regardé ce code hyper-pro... et je vais tenter d'y trouver mon bonheur.
Ce que je cherche à faire est un peu différent.
Je fais remplir un questionnaire. Les réponses sont des couleurs. Elles sont
en nombre limité, variable d'une fois sur l'autre. Cela va de trois couleurs
à cinq dans tous les cas normaux, plus les deux non-réponses (ne sait pas
répondre, ne veut pas répondre). Ce nombre variable de couleurs correspond à
une palette variable, mais fixée par le questionnaire. Par exemple,
vert/jaune/rouge + blanc/gris.
Dans ce cas, je souhaite faire apparaître par clic droit ces cinq couleurs
et surtout rien de plus, palette que je dois donc aller chercher sur la
feuille...
En plus (comme on peut être exigeant...), j'aurais préféré un menu
contextuel très sobre plutôt qu'un user-form...
Patrick
PS. J'apprécie bcp Excelabo que j'ai bien pratiqué pour mon projet. Merci
mille fois !
"Misange" a écrit dans le message de
news:bonjour,
tu trouveras un exemple à télécharger mettant en oeuvre une macro de
Laurent Longre sur excelabo
http://www.excelabo.net/moteurs/compteclic.php?nomü-couleurs
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
on 13/09/2004 09:56:Bonjour !
Je souhaite créer un menu contextuel qui :
. présente les couleurs d'une palette perso
. remplisse la case cliquée (clic droit) avec la couleur
sélectionnée.J'ai rédigé ce code (en pompant généreusement l'aide Excel et Fredéric
Sigonneau !) :
'élimine les contrôles du menu contextuel cellule
For Each icbc In Application.CommandBars("Cell").Controls
icbc.Delete
Next icbc
'ajoute les options de couleur
For i = nb_couleurs To 1 Step -1
With Application.CommandBars("Cell").Controls _
.Add(Type:=msoControlButton, before:=1, temporary:=True)
.Caption = "Couleur " & i
.OnAction = "affecter_couleur" & i 'peu élégant
maisça marche
.Tag = "couleur" & i
Cells(l1, c1 - 1 + i).Copy 'va
chercher la couleur sur la feuille Excel
.PasteFace
End With
Next
Cette solution ne marche pas. Les couleurs ne sont pas copiées du
presse-papier vers le bouton.Tous les boutons apparaissent blancs.
Par ailleurs, je préférerais ne pas avoir de "caption", juste les
couleurs.Comment faire ?
Bonsoir Frédéric,
Avec Excel 97, j'obtiens une erreur sur cette ligne :
.Picture = imgVert
Donc, il y en a un des deux (Excel97 ou moi) qui déconne !
;o))
Bonsoir Frédéric,
Avec Excel 97, j'obtiens une erreur sur cette ligne :
.Picture = imgVert
Donc, il y en a un des deux (Excel97 ou moi) qui déconne !
;o))
Bonsoir Frédéric,
Avec Excel 97, j'obtiens une erreur sur cette ligne :
.Picture = imgVert
Donc, il y en a un des deux (Excel97 ou moi) qui déconne !
;o))
Salut Philippe,
A mon avis, c'est Excel 97 !
Il est bien possible que la propriété Picture n'existât point avec son VBA
5.
J'aurais pourtant plutôt eu un doute sur l'objet IPictureDisp mais bon, le
résultat est le même et j'espère que PM, qui n'en souffle mot, ne
travaille pas
justement avec cette version...
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir Frédéric,
Avec Excel 97, j'obtiens une erreur sur cette ligne :
.Picture = imgVert
Donc, il y en a un des deux (Excel97 ou moi) qui déconne !
;o))
Salut Philippe,
A mon avis, c'est Excel 97 !
Il est bien possible que la propriété Picture n'existât point avec son VBA
5.
J'aurais pourtant plutôt eu un doute sur l'objet IPictureDisp mais bon, le
résultat est le même et j'espère que PM, qui n'en souffle mot, ne
travaille pas
justement avec cette version...
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir Frédéric,
Avec Excel 97, j'obtiens une erreur sur cette ligne :
.Picture = imgVert
Donc, il y en a un des deux (Excel97 ou moi) qui déconne !
;o))
Salut Philippe,
A mon avis, c'est Excel 97 !
Il est bien possible que la propriété Picture n'existât point avec son VBA
5.
J'aurais pourtant plutôt eu un doute sur l'objet IPictureDisp mais bon, le
résultat est le même et j'espère que PM, qui n'en souffle mot, ne
travaille pas
justement avec cette version...
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir Frédéric,
Avec Excel 97, j'obtiens une erreur sur cette ligne :
.Picture = imgVert
Donc, il y en a un des deux (Excel97 ou moi) qui déconne !
;o))
Salut Philippe,
Il est bien possible que la propriété Picture n'existât point....
Salut Philippe,
Il est bien possible que la propriété Picture n'existât point....
Salut Philippe,
Il est bien possible que la propriété Picture n'existât point....
certes, certes, frédéric, mais encore eût-il fallu que les temps
concordassent....
jps
"Frédéric Sigonneau" a écrit dans le message de
news:OVt$Salut Philippe,
Il est bien possible que la propriété Picture n'existât point....
certes, certes, frédéric, mais encore eût-il fallu que les temps
concordassent....
jps
"Frédéric Sigonneau" <frederic.sigonneau@phri.fr> a écrit dans le message de
news:OVt$WudmEHA.3968@TK2MSFTNGP11.phx.gbl...
Salut Philippe,
Il est bien possible que la propriété Picture n'existât point....
certes, certes, frédéric, mais encore eût-il fallu que les temps
concordassent....
jps
"Frédéric Sigonneau" a écrit dans le message de
news:OVt$Salut Philippe,
Il est bien possible que la propriété Picture n'existât point....
Et ils ne concordassaient pas :(
En pénitence, je m'engage publiquement ici à avoir lu les oeuvres
complètes de
Louis-Michel Bescherelle avant mon soixante-dixième annversaire...
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !certes, certes, frédéric, mais encore eût-il fallu que les temps
concordassent....
jps
"Frédéric Sigonneau" a écrit dans le
message de
news:OVt$Salut Philippe,
Il est bien possible que la propriété Picture n'existât point....
Et ils ne concordassaient pas :(
En pénitence, je m'engage publiquement ici à avoir lu les oeuvres
complètes de
Louis-Michel Bescherelle avant mon soixante-dixième annversaire...
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
certes, certes, frédéric, mais encore eût-il fallu que les temps
concordassent....
jps
"Frédéric Sigonneau" <frederic.sigonneau@phri.fr> a écrit dans le
message de
news:OVt$WudmEHA.3968@TK2MSFTNGP11.phx.gbl...
Salut Philippe,
Il est bien possible que la propriété Picture n'existât point....
Et ils ne concordassaient pas :(
En pénitence, je m'engage publiquement ici à avoir lu les oeuvres
complètes de
Louis-Michel Bescherelle avant mon soixante-dixième annversaire...
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !certes, certes, frédéric, mais encore eût-il fallu que les temps
concordassent....
jps
"Frédéric Sigonneau" a écrit dans le
message de
news:OVt$Salut Philippe,
Il est bien possible que la propriété Picture n'existât point....