OptionButton pour passer en GRAS

Résolu
duduleray -  
 duduleray -
Bonjour a tous et toutes , Forum



j'ai un UserForm1 avec un OptionButton19 ainsi qu'une Zone (B2:F17) de cellule sur la
feuille excel 2007 ici pour essai.

Je souhaiterai svp que lorsque je click sur le bouton que cela passe le Fond du bouton en vert quand c'est cliqué et Rouge quand il n'ai plus cliqué

Je résume :

bouton décoché = Fond bouton en Rouge
bouton coché = Fond en vert

et bien l'action a générer est de passer en GRAS un mot de la zone (B2:F17) après avoir sélectionner bien sur la cellule qui contient le mot de la feuille a modifier.

je vous remercie de votre temps ainsi que de votre aide

Bon W-end a tous

Raymond
A voir également:

10 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Il faut soit un deuxieme Bouton Option ou un peu de code sur un evenement pour "decocher" un bouton Option.

Couleur Fond:

Private Sub OptionButton1_Click()
OptionButton1.BackColor = vbGreen
End Sub

Private Sub OptionButton2_Click()
OptionButton1.BackColor = vbRed
End Sub

Si vous ne voulez pas de deuxieme Bouton Option ou pas de code supplementaire, prenez une case a cocher

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
CheckBox1.BackColor = vbGreen
Else
CheckBox1.BackColor = vbRed
End If
End Sub

Bonne suite
0
duduleray
 
Bonjour, f894009,

Merci pour ta réponse et le petit code, c'est sympa

Bon pour la couleur, c'est bon ça marche, effectivement je pense qu'un CheckBox devrai faire l'affaire

Je mets quoi svp comme code pour passer en GRAS le mot dans la cellule choisie

car si je click ca passera le mot en gras mais is je reclick le mot repassera en normal

je ne sais pas trop comment faire

Merci de ton aide je te souhaite un bon W-end

Cordialement Ray
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

Private Sub CheckBox1_Click()
'test le nom de la feuille et dans la plage de cellule: B2:F17
If ActiveSheet.Name = "Feuil1" And _
(ActiveCell.Row < 18 And ActiveCell.Row > 1) And _
(ActiveCell.Column < 7 And ActiveCell.Column > 1) Then

If CheckBox1.Value = True Then
'Passage en caractere GRAS
With ActiveCell.Font
.Bold = True
End With
CheckBox1.BackColor = vbGreen
Else
'Passage en caractere NON GRAS
With ActiveCell.Font
.Bold = False
End With
CheckBox1.BackColor = vbRed
End If
End If
End Sub


Bonne suite
0
duduleray
 
Re

Merci beaucoup, j'ai mis un checkbox comme conseillé, ça fonctionne très bien.

Serait'il possible svp de faire en sorte que cela fonctionne également avec plusieurs

cellules sélectionnées Ex: E5:E10

je ne sais pas la si c'est possible ???

Merci a toi ici a Rouen soleil enfin

Raymond
0

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

Posez votre question
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

Private Sub CheckBox1_Click()
'test le nom de la feuille et dans la plage de cellule: B2:F17
If ActiveSheet.Name = "Feuil1" And _
(ActiveCell.Row < 18 And ActiveCell.Row > 1) And _
(ActiveCell.Column < 7 And ActiveCell.Column > 1) Then
adress = Selection.Address(0, 0)

If CheckBox1.Value = True Then
'Passage en caractere GRAS
Range(adress).Font.Bold = True
CheckBox1.BackColor = vbGreen
Else
'Passage en caractere NON GRAS
Range(adress).Font.Bold = False
CheckBox1.BackColor = vbRed
End If
Else
MsgBox ("Selection en dehors de la plage")
End If
End Sub

Vous pouvez selectionnes des cellules consecutives ou non.
Le test cellules en dehors de la plage n'est plus vrai a 100%, il faudrait le sophistiquer un peu.

Bonne suite
0
duduleray
 
Re f894009

Merci pour la modification ça fonctionne très bien.

Rajouter juste un Dim pour variable Adress et changer nom de la feuille normal.

Question svp: Par rapport a ce que tu me dit ci-dessous

Pour info: ma plage sera environ celle d'un écran, pas encore déterminer pour l'instant

Le test cellules en dehors de la plage n'est plus vrai a 100%, il faudrait le sophistiquer un peu.

Ca serait embètant de sophistiquer ou pas, je vois pas trop ou tu veux en venir

Tu peux m'expliquer un peu svp

et si tu saurai me faire , ça m'interresserai aussi, un plus pour mon programme

Merci pour ton aide a plus tard

Raymond
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

Si vous avez des cellules en dehors de votre plage (B2:F17) ou il y a du texte ou autres info, cela eviterait de modifier le style d'ecriture de ces cellules.
0
duduleray
 
Re

Merci pour les infos, j'ai estimé que ma zone de travail s'étendra environ

de A1:Z45 j'ai un écran 22 pouces.

Voila donc si on peux améliorer votre code, je suis preneur pour la sophistiquation

Merci pour le coup de main.

Bonne après midi

Raymond
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

Private Sub CheckBox1_Click()
Dim adress, Cellule As Range
'test le nom de la feuille et dans la plage de cellule: A1:Z45
If ActiveSheet.Name = "Feuil1" Then
'test cellule dans la plage
For Each Cellule In Selection
If Cellule.Row > 45 Or Cellule.Column > 26 Then
CheckBox1.Value = False
CheckBox1.BackColor = &H8000000F
Exit Sub
End If
Next Cellule
adress = Selection.Address(0, 0)
Cells(20, 1) = Selection.Address(0, 0)
If CheckBox1.Value = True Then
'Passage en caractere GRAS
Range(adress).Font.Bold = True
CheckBox1.BackColor = vbGreen
Else
'Passage en caractere NON GRAS
Range(adress).Font.Bold = False
CheckBox1.BackColor = vbRed
End If
Else
MsgBox ("Pas la bonne Feuille!!!!")
End If
End Sub


Bonne suite
0
duduleray
 
Salut f894009

Merci beaucoup pour le code, c'est très gentil, alors ça fonctionne bien

juste svp une petite modification car un truc ne va pas bien

quand je sélectionne une ou plusieurs cellules, je click sur le CheckBox (GRAS)
ça fonctionne le TEXTE passe en GRAS et le bouton en vert, jusqu'a la c'est bon.

mais quand je désélectionne le bouton reste vert, ça c'est pas bon !!

il faudrai svp que lorsque je désélectionne le bouton doit repasser en Rouge
et donc près pour une nouvelle opération

Quand rien sélectionner bouton égal Rouge

Après ce doit ètre bon pour moi

Merci a toi a plus tard

Raymond
0
duduleray
 
Bonjour f894009

J'ai trouver pour le dernier soucis j'ai mis au bon endroit de mon programme un "CheckBox1.Value = True" pour désactiver quand il ni a plus de sélection de cellules.

Donc la cela fonctionne très bien maintenant

Me reste a te remercier de ton aide ainsi que pour les codes que tu m'a fait

je te souhaite un bon Dimanche et encore merci a toi


Cordialement Raymond
0