valeur et couleur d'une sélection en fonction d'un commandbutton

zeltron

XLDnaute Occasionnel
Bonjour à tout le forum.

Voici mon problème.

J'ai un tableau dans lequel je sélectionne des cellules avec la souris. Ce que je souhaite c'est qu'après avoir sélectionné des cellule en cliquant sur un CmdB, ces cellules sélectionnées reprennent la couleur de fond du bouton sur lequel on a cliqué ainsi que la couleur d'écriture du caption du bouton.

Pour cela j'ai écris ce code, mais cela ne fonctionne pas:

Selection.Interior.ColorIndex = CommandButton1.BackColor
Selection.Font.ColorIndex = CommandButton1.ForeColor

De plus, je souhaite que la valeur des cellules sélectionnées reprenne celle du caption du CmdB, jusque là ca va; mais je souhaiterais qu'il y ait une reprise du caption du CmdB comme valeur uniquement si la cellule de la colonne B du tableau est vide ( la colonne B ne fait pas parti de la sélection); sinon, je souhaite que la valeur des cellule sélectionnées reprenne celle de la valeur de la cellule de la colonne B, respectivement pour chaque ligne. Et pour ce problème, la je ne vois vraiment pas comment faire.

Je vous joint un fichier où toutes ces explications sont détaillées et explicité avec exemple.

Je vous remercie d'avance pour votre aide.
Comptant sur vous, cordialement

Zeltron
 

Pièces jointes

  • ZZ.zip
    10.8 KB · Affichages: 28
  • ZZ.zip
    10.8 KB · Affichages: 29
  • ZZ.zip
    10.8 KB · Affichages: 33

Pierrot93

XLDnaute Barbatruc
Re : valeur et couleur d'une sélection en fonction d'un commandbutton

Bonjour Zeltron

un petit essai de code ci dessous pour ton bouton 1 :

Code:
Private Sub CommandButton1_Click()
'Ici je souhaite que le "value" de la selection
'reprenne le caption du CmdB1 uniquement si la cellule de la colonne B est vide
'sinon reprise du caption du CmdB1

Dim p As Range, Maplage As Range, coulfond As Long, coulpol As Long
Set Maplage = Selection

coulfond = CommandButton1.BackColor
coulpol = CommandButton1.ForeColor

For Each p In Maplage
    If IsEmpty(Range("B" & p.Row)) Then
        p.Value = CommandButton1.Caption
        p.Font.Bold = CommandButton1.Font.Bold
        p.Font.Italic = CommandButton1.Font.Italic
        p.Interior.Color = coulfond
        p.Font.Color = coulpol
    Else
        p.Value = Range("B" & p.Row).Value
    End If
Next p
End Sub

Par contre attention aux couleurs du fond et de la police, je ne suis pas sur que cela marche à tous les coups, pour ce faire il faudrait que tu definisse les couleurs des boutons par vba en utilisant la fonction RGB, enfin je crois.

Essaies et dis le nous, je sais que certains se sont déjà penché sur ce genre de problème, tu devrais d ailleurs trouver des posts à ce sujet.

Bon Après midi
@+
 

zeltron

XLDnaute Occasionnel
Re : valeur et couleur d'une sélection en fonction d'un commandbutton

merci Pierrot93 pour ton aide, je regarde ce que tu me propose et te tiens au courant.
J'ai essayé de trouver des posts sur ce sujet mais je n'en ai pas trouvé réeelemnt, j'ai essaté indexcolor button selection, en clé de recherche mais cela n'a pas été fructueux, peux tu me dire quel type de mots clé de recherche m'amènerait a des post sur ce sujet?

En attendant je regarde ce que tu m'a proposé.

Merci

A+

Cordialement

Zeltron
 

zeltron

XLDnaute Occasionnel
Re : valeur et couleur d'une sélection en fonction d'un commandbutton

Pierrot93, je viens de regarder ta proposition

Pour ce qui est de la reprise du caption du CmdB si la cellule de la col b est vide ou de la valeur de la cellule de la colonne B si elle n'est pas vide; pour appliquer cette valeur à la sélection, cela marche très bien.

Mais pour la reprise de la couleur de fond et d'écriture du CmdB pour les appliquer aux cellules sélectionnées, cela ne fonctionne pas, il me met toutes les cellules en ecriture noire et en fond noir, et ne reprend pas la couleur de fond et d'écriture du CmdB.

Merci encore pour la résolution de la première partie de mon problème.

Quelqu'un aurait il une idée ou un fil concernant la 2eme partie du problème?

Merci encore Pierrot93

Comptant sur vous tous, cordialement

Zeltron
 

Pierrot93

XLDnaute Barbatruc
Re : valeur et couleur d'une sélection en fonction d'un commandbutton

Re Zeltron

Sinon tu peux mettre le code ci dessous dans thisworkbook

Code:
Private Sub Workbook_Open()
Feuil1.CommandButton1.BackColor = RGB(0, 0, 255) 'bleu
Feuil1.CommandButton1.ForeColor = RGB(255, 255, 255) 'blanc
End Sub

il te définit à l'ouverture du classeur les couleurs de fond et de la police de ton bouton, et a priori après ca marche bien lors de l'éxecution de la macro.

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 328
Membres
103 180
dernier inscrit
Vcr