Excell : Couleur sur bouton
Résolu
Juliusus
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Juliusus Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Juliusus Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
bonjour,
j'utilise une feuille avec une trentaine de bouttons qui active des macros.
actuellement pour donner une couleur a un bouton, j'utilise des comparaisons et ca prends bcp de place.
je voulais utiliser une fonction de ce type, mais je recois tjrs un message d'erreur de syntaxe sur la ligne repérée. L'autre en dessous fonctionnant tres bien.
Sub Macro1()
Dim Nomdubouton As String
' dans la cellule B4, se trouve la valeur DD21, le nom du bouton est DD21
Range("B4").Select
Nomdubouton = ActiveCell()
Sheets("Section 2").Select
=> ActiveSheet.("Nomdubouton").BackColor = &H8000000F
ActiveSheet.DD21.BackColor = &HFF00&
End Sub
si quelqu'un peut me donner la bonne syntaxe, ce serait parfait
merci
j'utilise une feuille avec une trentaine de bouttons qui active des macros.
actuellement pour donner une couleur a un bouton, j'utilise des comparaisons et ca prends bcp de place.
je voulais utiliser une fonction de ce type, mais je recois tjrs un message d'erreur de syntaxe sur la ligne repérée. L'autre en dessous fonctionnant tres bien.
Sub Macro1()
Dim Nomdubouton As String
' dans la cellule B4, se trouve la valeur DD21, le nom du bouton est DD21
Range("B4").Select
Nomdubouton = ActiveCell()
Sheets("Section 2").Select
=> ActiveSheet.("Nomdubouton").BackColor = &H8000000F
ActiveSheet.DD21.BackColor = &HFF00&
End Sub
si quelqu'un peut me donner la bonne syntaxe, ce serait parfait
merci
A voir également:
- Excell : Couleur sur bouton
- Liste déroulante excell - Guide
- Excell viewer - Télécharger - Tableur
- Excell 2013 - Télécharger - Tableur
- Aller à la ligne excell - Guide
- Formules excell - Guide
7 réponses
Bonjour,
je n'ai pas testé, mais surement qu'en écrivant ceci :
ça fonctionnera mieux.
Mais une petite question : à quoi correspondent les 2 formats que vous avez mis pour les couleurs ?
Cordialement.
je n'ai pas testé, mais surement qu'en écrivant ceci :
Sub Macro1() Dim Nomdubouton As String Nomdubouton=Range("B4").Value Sheets("Section 2").Select ActiveSheet.(Nomdubouton").BackColor = la_couleur End Sub
ça fonctionnera mieux.
Mais une petite question : à quoi correspondent les 2 formats que vous avez mis pour les couleurs ?
Cordialement.
Salut,
Je ne comprends pas très bien ce que tu veux faire, changer la couleur d'un bouton qui à été activé, mais si tu actives un autre bouton le premier doit il reprendre sa couleur initiale .
Et tes boutons sont ils des CommandButton réalisés avec la barre d'outils contrôle ou avec la barre formulaire !
Je ne comprends pas très bien ce que tu veux faire, changer la couleur d'un bouton qui à été activé, mais si tu actives un autre bouton le premier doit il reprendre sa couleur initiale .
Et tes boutons sont ils des CommandButton réalisés avec la barre d'outils contrôle ou avec la barre formulaire !
salut,
ces boutons sont des CommandButon. En gros, sur une feuille, j'ai une trentaine de boutons qui m'envoie sur une feuille excel pour faire la gérance de machines.
En fonction de l'état de ces machines, les boutons sur la feuille principale sont de couleurs différentes (vert, rouge, gris ou blanc).
Actuellement je gère cela en vba, mais le code prends 4 pages A4 avec la méthode des "if then" ... donc je voudrias réduire cela.
Chaque bouton est indépendant et aucun n'interréagi avec un autre.
C'est " ActiveSheet.Nomdubouton.BackColor = &H8000000F " qui me pose problème. VBA ne veut pas prendre en compte la variable Nomdubouton.
> si je mets le nom rèel du bouton, ca marche
euhhh pas trop long l'explication ? lol
a+ Horsy
ces boutons sont des CommandButon. En gros, sur une feuille, j'ai une trentaine de boutons qui m'envoie sur une feuille excel pour faire la gérance de machines.
En fonction de l'état de ces machines, les boutons sur la feuille principale sont de couleurs différentes (vert, rouge, gris ou blanc).
Actuellement je gère cela en vba, mais le code prends 4 pages A4 avec la méthode des "if then" ... donc je voudrias réduire cela.
Chaque bouton est indépendant et aucun n'interréagi avec un autre.
C'est " ActiveSheet.Nomdubouton.BackColor = &H8000000F " qui me pose problème. VBA ne veut pas prendre en compte la variable Nomdubouton.
> si je mets le nom rèel du bouton, ca marche
euhhh pas trop long l'explication ? lol
a+ Horsy
Bonjour Juliusus et Mike-31
Selon moi la syntaxe est un peu plus délicate cela doit être celle ci :
ActiveSheet.OLEObjects(Nomdubouton).Object.BackColor = &H8000000F
A+
Selon moi la syntaxe est un peu plus délicate cela doit être celle ci :
ActiveSheet.OLEObjects(Nomdubouton).Object.BackColor = &H8000000F
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
De renommer le bouton est délicat, je te conseille garder le nom par exemple pour le bouton 1 (Name CommandButton1) ce qui ne t'empêcher pas de changer le titre sur le bouton (Caption)
Private Sub CommandButton1_Click()
'le code est pour rouge
CommandButton1.BackColor = &HFF&
'éventuellement tu peux écrire
ActiveSheet.CommandButton1.BackColor = &HFF&
'ou pour bleu
ActiveSheet.CommandButton1.BackColor = &HFF0000
End Sub
De renommer le bouton est délicat, je te conseille garder le nom par exemple pour le bouton 1 (Name CommandButton1) ce qui ne t'empêcher pas de changer le titre sur le bouton (Caption)
Private Sub CommandButton1_Click()
'le code est pour rouge
CommandButton1.BackColor = &HFF&
'éventuellement tu peux écrire
ActiveSheet.CommandButton1.BackColor = &HFF&
'ou pour bleu
ActiveSheet.CommandButton1.BackColor = &HFF0000
End Sub
merci pour la réponse mais le système me dit tjrs qu'il y a une erreur avec ou sans parenthèses
les formats de couleurs se retrouvent dans les propriétés du bouton
a+
Horsy