Menu

Renommer un bouton en cliquant dessus (VBA) [Résolu/Fermé]

Carpologue 185 Messages postés dimanche 8 janvier 2012Date d'inscription 27 mai 2017 Dernière intervention - 12 oct. 2016 à 14:35 - Dernière réponse : Carpologue 185 Messages postés dimanche 8 janvier 2012Date d'inscription 27 mai 2017 Dernière intervention
- 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.
Afficher la suite 

5 réponses

cs_Le Pivert 5065 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 avril 2018 Dernière intervention - Modifié par cs_Le Pivert le 12/10/2016 à 15:03
+1
Utile
1
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
Cette réponse vous a-t-elle aidé ?  
m@rina 14180 Messages postés mardi 12 juin 2007Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - 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
m@rina 14180 Messages postés mardi 12 juin 2007Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - 12 oct. 2016 à 15:07
+1
Utile
Bonjour

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

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

m@rina
Cette réponse vous a-t-elle aidé ?  
Carpologue 185 Messages postés dimanche 8 janvier 2012Date d'inscription 27 mai 2017 Dernière intervention - Modifié par Carpologue le 12/10/2016 à 15:03
0
Utile
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.
Carpologue 185 Messages postés dimanche 8 janvier 2012Date d'inscription 27 mai 2017 Dernière intervention - 12 oct. 2016 à 15:34
0
Utile
Yes ! J'ai réussis à faire mon code grâce à vous deux ça marche impec'
Vous êtes géniaux, je vous adore :D

Merci !!