Renommer un bouton en cliquant dessus (VBA)

Résolu/Fermé
Carpologue Messages postés 191 Date d'inscription dimanche 8 janvier 2012 Statut Membre Dernière intervention 29 août 2022 - Modifié par Carpologue le 12/10/2016 à 14:48
Carpologue Messages postés 191 Date d'inscription dimanche 8 janvier 2012 Statut Membre Dernière intervention 29 août 2022 - 12 oct. 2016 à 15:34
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

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
Modifié par cs_Le Pivert le 12/10/2016 à 15:03
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
m@rina Messages postés 21205 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 23 décembre 2024 11 370
12 oct. 2016 à 15:08
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
m@rina Messages postés 21205 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 23 décembre 2024 11 370
12 oct. 2016 à 15:07
Bonjour

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

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

m@rina
1
Carpologue Messages postés 191 Date d'inscription dimanche 8 janvier 2012 Statut Membre Dernière intervention 29 août 2022 50
Modifié par Carpologue le 12/10/2016 à 15:03
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
Carpologue Messages postés 191 Date d'inscription dimanche 8 janvier 2012 Statut Membre Dernière intervention 29 août 2022 50
12 oct. 2016 à 15:34
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