Je cherche une procédure pour afficher en couleur conditionnelle le nom d'un
bouton macro.
Je m'explique, soit 12 boutons macros correspondant aux 12 mois de l'année.
Je souhaite que le nom du mois courant (à récupérer en A1) s'affiche en
couleur
(Par exemple que Janvier s'affiche en rouge pour peu que la date courante
appartienne au mois de janvier)
Il faut bien sûr que le nom reprenne une couleur neutre si le mois courant
change.
Je ne pense pas que cela soit facilement réalisable, mais sait-on jamais !!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Modeste
Bonsour® Michir avec ferveur ;o))) vous nous disiez :
Je cherche une procédure pour afficher en couleur conditionnelle le nom d'un bouton macro. Il faut bien sûr que le nom reprenne une couleur neutre si le mois courant change. Je ne pense pas que cela soit facilement réalisable, mais sait-on jamais !!
cela manque d'information !!! Userform, Boutons Formulaire ou Controls ????
;o))) solution pour boutons formulaire procédure évenementielle : SelectionChange
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Set isect = Application.Intersect(Target, Range("Lesdates")) If Not isect Is Nothing Then If Target.Cells.Count = 1 Then [A1] = Month(Target) For i = 1 To 12 With ActiveSheet.Buttons("CommandButton" & i) If i = [A1] Then .Font.Size = 12 .Font.Color = vbRed .Font.Bold = True .Font.Italic = False Else .Font.Size = 8 .Font.Color = vbBlack .Font.Bold = False .Font.Italic = True End If End With Next Else MsgBox "il ne faut selectionner qu'une date !!", vbExclamation End If End If End Sub
Bonsour® Michir avec ferveur ;o))) vous nous disiez :
Je cherche une procédure pour afficher en couleur conditionnelle le nom
d'un
bouton macro.
Il faut bien sûr que le nom reprenne une couleur neutre si le mois courant
change.
Je ne pense pas que cela soit facilement réalisable, mais sait-on jamais
!!
cela manque d'information !!!
Userform, Boutons Formulaire ou Controls ????
;o)))
solution pour boutons formulaire
procédure évenementielle : SelectionChange
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set isect = Application.Intersect(Target, Range("Lesdates"))
If Not isect Is Nothing Then
If Target.Cells.Count = 1 Then
[A1] = Month(Target)
For i = 1 To 12
With ActiveSheet.Buttons("CommandButton" & i)
If i = [A1] Then
.Font.Size = 12
.Font.Color = vbRed
.Font.Bold = True
.Font.Italic = False
Else
.Font.Size = 8
.Font.Color = vbBlack
.Font.Bold = False
.Font.Italic = True
End If
End With
Next
Else
MsgBox "il ne faut selectionner qu'une date !!", vbExclamation
End If
End If
End Sub
l'exemple là :
http://cjoint.com/?mAkDj0TSJF
--
;o)))
@+
Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
Bonsour® Michir avec ferveur ;o))) vous nous disiez :
Je cherche une procédure pour afficher en couleur conditionnelle le nom d'un bouton macro. Il faut bien sûr que le nom reprenne une couleur neutre si le mois courant change. Je ne pense pas que cela soit facilement réalisable, mais sait-on jamais !!
cela manque d'information !!! Userform, Boutons Formulaire ou Controls ????
;o))) solution pour boutons formulaire procédure évenementielle : SelectionChange
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Set isect = Application.Intersect(Target, Range("Lesdates")) If Not isect Is Nothing Then If Target.Cells.Count = 1 Then [A1] = Month(Target) For i = 1 To 12 With ActiveSheet.Buttons("CommandButton" & i) If i = [A1] Then .Font.Size = 12 .Font.Color = vbRed .Font.Bold = True .Font.Italic = False Else .Font.Size = 8 .Font.Color = vbBlack .Font.Bold = False .Font.Italic = True End If End With Next Else MsgBox "il ne faut selectionner qu'une date !!", vbExclamation End If End If End Sub
Private Sub Workbook_Open() Sheets("feuil1").b_mois_cours.Caption = Format(Date, "mmmm") End Sub
Cordialement JB
Michel Gaboly
Salut Michir,
C'est assez simple si tu acceptes que l'adaptation ne soit pas automatiqu e à minuit le dernier jour du mois lorsque le document est déjà ouvert.
Il suffit de donner un nom aux boutons permettant d'identifier aisément le mois concerné :
B1, B2, ..., B12
ou (mais c'est + compliqué, car cela nécessite une adaptation si on v eut que cela fonctionne aussi avec une version d'Excel dan une autre langue que le français).
BJanvier, ..., BDecembre
Pour créer 12 boutons nommés B1 à B12 sur la feuille active, avec u n fond gris sauf pour le mois en cours (bleu) :
Sub Creation12Boutons() Dim i As Integer, s As Shape For i = 1 To 12 Set s = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 30, i * 40, 120, 30) s.Name = "B" & i s.TextFrame.Characters.Text = Format(DateSerial(2005, i, 1 ), "mmmm") With s.TextFrame.Characters.Font .Name = "Verdana" .Size = 10 .Bold = True End With With s.TextFrame .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With s.Fill.ForeColor.SchemeColor = 22 Next ActiveSheet.Shapes("B" & Month(Date)).Fill.ForeColor.SchemeColor = 48 End Sub
Dans ThisWorkbook :
Private Sub Workbook_Open() Dim i As Integer, f As Worksheet Set f = ThisWorkbook.Sheets("Feuil1") For i = 1 To 12 Debug.Print i f.Shapes("B" & i).Fill.ForeColor.SchemeColor = 22 Next f.Shapes("B" & Month(Date)).Fill.ForeColor.SchemeColor = 48 End Sub
Dans le code de la feuille :
Private Sub Worksheet_Activate() Dim i As Integer, f As Worksheet For i = 1 To 12 Debug.Print i Shapes("B" & i).Fill.ForeColor.SchemeColor = 22 Next Shapes("B" & Month(Date)).Fill.ForeColor.SchemeColor = 48 End Sub
Bonjour à tous,
Je cherche une procédure pour afficher en couleur conditionnelle le n om d'un bouton macro.
Je m'explique, soit 12 boutons macros correspondant aux 12 mois de l'an née. Je souhaite que le nom du mois courant (à récupérer en A1) s'affi che en couleur (Par exemple que Janvier s'affiche en rouge pour peu que la date couran te appartienne au mois de janvier) Il faut bien sûr que le nom reprenne une couleur neutre si le mois co urant change. Je ne pense pas que cela soit facilement réalisable, mais sait-on jam ais !!
Merci Michel
-- Cordialement,
Michel Gaboly www.gaboly.com
Salut Michir,
C'est assez simple si tu acceptes que l'adaptation ne soit pas automatiqu e à minuit le dernier jour du mois lorsque le
document est déjà ouvert.
Il suffit de donner un nom aux boutons permettant d'identifier aisément le mois concerné :
B1, B2, ..., B12
ou (mais c'est + compliqué, car cela nécessite une adaptation si on v eut que cela fonctionne aussi avec une version
d'Excel dan une autre langue que le français).
BJanvier, ..., BDecembre
Pour créer 12 boutons nommés B1 à B12 sur la feuille active, avec u n fond gris sauf pour le mois en cours (bleu) :
Sub Creation12Boutons()
Dim i As Integer, s As Shape
For i = 1 To 12
Set s = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 30, i * 40, 120, 30)
s.Name = "B" & i
s.TextFrame.Characters.Text = Format(DateSerial(2005, i, 1 ), "mmmm")
With s.TextFrame.Characters.Font
.Name = "Verdana"
.Size = 10
.Bold = True
End With
With s.TextFrame
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
s.Fill.ForeColor.SchemeColor = 22
Next
ActiveSheet.Shapes("B" & Month(Date)).Fill.ForeColor.SchemeColor = 48
End Sub
Dans ThisWorkbook :
Private Sub Workbook_Open()
Dim i As Integer, f As Worksheet
Set f = ThisWorkbook.Sheets("Feuil1")
For i = 1 To 12
Debug.Print i
f.Shapes("B" & i).Fill.ForeColor.SchemeColor = 22
Next
f.Shapes("B" & Month(Date)).Fill.ForeColor.SchemeColor = 48
End Sub
Dans le code de la feuille :
Private Sub Worksheet_Activate()
Dim i As Integer, f As Worksheet
For i = 1 To 12
Debug.Print i
Shapes("B" & i).Fill.ForeColor.SchemeColor = 22
Next
Shapes("B" & Month(Date)).Fill.ForeColor.SchemeColor = 48
End Sub
Bonjour à tous,
Je cherche une procédure pour afficher en couleur conditionnelle le n om d'un
bouton macro.
Je m'explique, soit 12 boutons macros correspondant aux 12 mois de l'an née.
Je souhaite que le nom du mois courant (à récupérer en A1) s'affi che en
couleur
(Par exemple que Janvier s'affiche en rouge pour peu que la date couran te
appartienne au mois de janvier)
Il faut bien sûr que le nom reprenne une couleur neutre si le mois co urant
change.
Je ne pense pas que cela soit facilement réalisable, mais sait-on jam ais !!
C'est assez simple si tu acceptes que l'adaptation ne soit pas automatiqu e à minuit le dernier jour du mois lorsque le document est déjà ouvert.
Il suffit de donner un nom aux boutons permettant d'identifier aisément le mois concerné :
B1, B2, ..., B12
ou (mais c'est + compliqué, car cela nécessite une adaptation si on v eut que cela fonctionne aussi avec une version d'Excel dan une autre langue que le français).
BJanvier, ..., BDecembre
Pour créer 12 boutons nommés B1 à B12 sur la feuille active, avec u n fond gris sauf pour le mois en cours (bleu) :
Sub Creation12Boutons() Dim i As Integer, s As Shape For i = 1 To 12 Set s = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 30, i * 40, 120, 30) s.Name = "B" & i s.TextFrame.Characters.Text = Format(DateSerial(2005, i, 1 ), "mmmm") With s.TextFrame.Characters.Font .Name = "Verdana" .Size = 10 .Bold = True End With With s.TextFrame .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With s.Fill.ForeColor.SchemeColor = 22 Next ActiveSheet.Shapes("B" & Month(Date)).Fill.ForeColor.SchemeColor = 48 End Sub
Dans ThisWorkbook :
Private Sub Workbook_Open() Dim i As Integer, f As Worksheet Set f = ThisWorkbook.Sheets("Feuil1") For i = 1 To 12 Debug.Print i f.Shapes("B" & i).Fill.ForeColor.SchemeColor = 22 Next f.Shapes("B" & Month(Date)).Fill.ForeColor.SchemeColor = 48 End Sub
Dans le code de la feuille :
Private Sub Worksheet_Activate() Dim i As Integer, f As Worksheet For i = 1 To 12 Debug.Print i Shapes("B" & i).Fill.ForeColor.SchemeColor = 22 Next Shapes("B" & Month(Date)).Fill.ForeColor.SchemeColor = 48 End Sub
Bonjour à tous,
Je cherche une procédure pour afficher en couleur conditionnelle le n om d'un bouton macro.
Je m'explique, soit 12 boutons macros correspondant aux 12 mois de l'an née. Je souhaite que le nom du mois courant (à récupérer en A1) s'affi che en couleur (Par exemple que Janvier s'affiche en rouge pour peu que la date couran te appartienne au mois de janvier) Il faut bien sûr que le nom reprenne une couleur neutre si le mois co urant change. Je ne pense pas que cela soit facilement réalisable, mais sait-on jam ais !!