Renommer un bouton en cliquant dessus (VBA)

Résolu
Carpologue Messages postés 212 Statut Membre -  
Carpologue Messages postés 212 Statut Membre -
Bonjour,

J'essaie de créer une feuille complète en VBA pour un jeu de rôle, étant tout nouveau dans ce langage je suis bloqué très rapidement.

Voilà mon objectif :

J'aimerais créer un bouton qui puisse être renommer en cliquant dessus. Par exemple la valeur de base de ce bouton est "100" j'aimerais qu'une InputBox s'affiche lorsque l'on clique dessus et que l'utilisateur puisse mettre la valeur qu'il souhaite.

En clair : Bouton "100"=>Clique=>InputBox("Rentrer la nouvelle valeur")=>Utilisateur rentre "50"=>Bouton "50"

Si vous avez un code pour ça je prends. J'imagine que ça se fait via les boutons de commande et non pas de formulaire, donc des explications compréhensibles par des novices comme moi sont les bienvenues :D

Merci à vous,
Carpologue.

PS: Je travaille sous Microsoft Excel 2007.
PS&: En plus j'aimerais que ce ne soit pas qu'un caption du bouton mais aussi une valeur. Car à terme je voudrais que si la valeur descend en dessous d'un minima le bouton change de couleur. (J'en demande trop ? :') )



Il ne faut pas vendre la peau du tué avant de l'avoir ours.

4 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    Voici un exemple avec un bouton activeX:

    Private Sub CommandButton1_Click()
    Dim val As String
    val = InputBox("Entrez un chiffre", "Mon bouton", "10")
    CommandButton1.Caption = val
    If CommandButton1.Caption <= 50 Then
    CommandButton1.BackColor = &HFF&
    Else
    CommandButton1.BackColor = &H8000&
    End If
    End Sub
    


    Pour avoir les codes couleurs allez dans les propriétés du bouton dans BackColor

    @+ Le Pivert
    1
    1. m@rina Messages postés 27873 Date d'inscription   Statut Modérateur Dernière intervention   11 569
       
      Bonjour Le Pivert !
      Désolée, je n'avais pas vu ta réponse... mais tu étais le prem's ! ;))
      Bon, je propose exactement la même chose ! :)
      m@rina
      0
  2. m@rina Messages postés 27873 Date d'inscription   Statut Modérateur Dernière intervention   11 569
     
    Bonjour

    Voici un exemple :
    https://www.cjoint.com/c/FJmngCkPYhl

    en dessous de 50, ça change de couleur...

    m@rina
    1
  3. Carpologue Messages postés 212 Statut Membre 52
     
    Grossièrement ce que je voudrais c'est quelque chose comme ça :

    Private Sub Button_Head_Click()

    Dim b As Integer

    Button_Head.Value = 100

    b = InputBox("Nouvelle valeur")

    Button_Head.Value = b

    If Button_Head.Value <= 50 Then
    Button_Head.Backcolor = "&H000080FF&" 'le bouton change en orange

    Else If Button_Head.Value <= 20 Then
    Button_Head.Backcolor = "&H000000FF&" 'le bouton change en rouge

    Else If Button_Head.Value = 0 Then
    Button_Head.Backcolor = "&H00404040&" 'le bouton change en gris foncé

    Else
    Button_Head.Backcolor = "&H80000005&" 'le bouton reste de la couleur classique

    End If

    End Sub


    Ce code est juste l'algorithme de ce que je voudrais :T

    Il ne faut pas vendre la peau du tué avant de l'avoir ours.
    0
  4. Carpologue Messages postés 212 Statut Membre 52
     
    Yes ! J'ai réussis à faire mon code grâce à vous deux ça marche impec'
    Vous êtes géniaux, je vous adore :D

    Merci !!
    0