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

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



--
Savoir dire NON est un devoir et une force! N'ayez pas peur! L'union fait la force!

Passez en résolu si ça l'est!

8 réponses

  1. Bonjour,

    j'ai mis en oeuvre cette ligne mais il y a erreur: Normale l'erreur, mais ou avez-vous mis ce code??
    0
    1. 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
      1. 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
        1. 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
          1. 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
            1. 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
              1. 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
                1. Bonsoir et merci pour ce petit code!
                  Je vais essayer d'en tirer profit dans mon application.

                  A+ et merci
                  0