Changer la couleur du n° du bouton de commande sous condition

Fermé
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 - 10 févr. 2014 à 10:45
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 - 11 févr. 2014 à 18:58
Bonjour,

Je me suis fait une représentation de classe de 30 élèves représenté par des boutons de commande de 2 à 31.

Lorsque j'ai interrogé un élève et attribué une appréciation, j'ai un compteur qui s'incrémente pour cet élève interrogé.

Mais il faut que je regarde à chaque fois dans 2e onglet quel élève je n'ai pas interrogé.

Alors, j'ai décidé de changer la couleur du fond de mon bouton ou son numéro (peu importe) pour m'aviser sur mon 1er onglet des élèves qui ont déjà été interrogés.

j'ai mis en oeuvre cette ligne mais il y a erreur:

If cpteval >= 10 Then CommandButton(eleve).BackColor = 100

Quelqu'un a-t-il une solution à me proposer SVP?

cpteval est un compteur
élève est le numéro du bouton

merci


8 réponses

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
10 févr. 2014 à 11:38
Bonjour,

j'ai mis en oeuvre cette ligne mais il y a erreur: Normale l'erreur, mais ou avez-vous mis ce code??
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
10 févr. 2014 à 12:07
Bonjour,
Bonne réflexion qui me montre que je me suis trompé de forum!
C'est en VBA.
Désolé! Il y a longtemps que je n'étais pas revenu sur le site.

Le modérateur pourra -t-il me changer de forum ??
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
10 févr. 2014 à 12:53
Re,
Non, vous etes bien au bon endroit, ma question est bien sur votre probleme. Donc, vous avez une erreur mais vu votre code, c'est normal.

2 eme question:
ou avez-vous ecrit

If cpteval >= 10 Then CommandButton(eleve).BackColor = 100

A+
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
10 févr. 2014 à 13:08
Je l'ai écris dans ceci:

Private Sub CommandButton2_Click()
...
If cpteval >= 10 Then CommandButton(eleve).BackColor = 100
...
End Sub
C'est le code d'un bouton qui me fait le bilan des points attribués aux élèves.

J'ai changé mon code en cela, après avoir corrigé 2 erreurs:

If total > 1 Then Sheets("1").CommandButton.eleve.BackColor = 4966415
Else CommandButton2.BackColor = &H8000000F

Lorsque j'écris uniquement: "CommandeButton2".BackColor = 4966415
ça marche!

Mais ce qui m'intéresse c'est de mettre la variable "eleve" à la place du chiffre 2 !
Cette variable "eleve" représente le numéro du bouton de commande +1.

Que faire alors?
0

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

Posez votre question
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
10 févr. 2014 à 13:13
Re,

Si vous avez un bouton par eleve, il faut faire un test "compteur" par bouton et un compteur par eleve. Je ne comprends pas votre demarche.
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
10 févr. 2014 à 20:17
En fait, je veux effectuer cela:

CommandeButtonX.BackColor = 4966415

où X est une variable qui change.

mais je ne sais pas comment l'écrire...
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié par f894009 le 11/02/2014 à 09:17
Bonjour,

code mini pour lire et ecrire objet CommandButton sur feuille de calcul excel:

Private Sub CommandButton1_Click()
Dim Obj As OLEObject
'parametre qui vient de ???????
eleve = 2
'boucle sur les objets de la Feuil1
For Each Obj In Sheets("Feuil1").OLEObjects
'verifie s'il s'agit d'un CommandButton
If TypeOf Obj.Object Is MSForms.CommandButton Then
If Obj.Name = "CommandButton" & eleve Then
'change couleur
Obj.Object.BackColor = vbRed
End If
End If
Next Obj
End Sub
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
11 févr. 2014 à 18:58
Bonsoir et merci pour ce petit code!
Je vais essayer d'en tirer profit dans mon application.

A+ et merci
0