A voir également:
- Macro pour changer l'intitulé d'un bouton
- Changer dns - Guide
- Piratage facebook changer mot de passe - Guide
- Changer clavier qwerty en azerty - Guide
- Macro word - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
14 réponses
Mike-31
Messages postés
18318
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 avril 2024
5 082
10 déc. 2010 à 22:22
10 déc. 2010 à 22:22
Salut,
C'est mieux d'avoir ouvert une discussion séparée.
en supposant que ton bouton ou plus exactement un CommandButton et qu'il soit le premier CommandButton1
deux propositions simples
la première, on se sert d'une cellule pour créer un compteur exemple A1 que l'on peut masquer en mettant le bouton dessus
Private Sub CommandButton1_Click()
[A1] = [A1] + 1
CommandButton1.Caption = [A1]
End Sub
ou ce code, on place la variable compteur au dessus du code
Private compteur As Long
Private Sub CommandButton1_Click()
compteur = compteur + 1
CommandButton1.Caption = compteur
End Sub
C'est mieux d'avoir ouvert une discussion séparée.
en supposant que ton bouton ou plus exactement un CommandButton et qu'il soit le premier CommandButton1
deux propositions simples
la première, on se sert d'une cellule pour créer un compteur exemple A1 que l'on peut masquer en mettant le bouton dessus
Private Sub CommandButton1_Click()
[A1] = [A1] + 1
CommandButton1.Caption = [A1]
End Sub
ou ce code, on place la variable compteur au dessus du code
Private compteur As Long
Private Sub CommandButton1_Click()
compteur = compteur + 1
CommandButton1.Caption = compteur
End Sub
Mike-31, tu es génial !
c'est exactement ce que je cherchais
ça correspond tout à fait à mes attentes
je suppose que pour que le bouton revienne à 0, il faut que je crée un autre bouton avec une macro d'effacement ou y-a-t-il une autre solution ?
merci encore
c'est exactement ce que je cherchais
ça correspond tout à fait à mes attentes
je suppose que pour que le bouton revienne à 0, il faut que je crée un autre bouton avec une macro d'effacement ou y-a-t-il une autre solution ?
merci encore
Mike-31
Messages postés
18318
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 avril 2024
5 082
10 déc. 2010 à 23:56
10 déc. 2010 à 23:56
Re,
Tout dépend du code que tu as retenu, pour le premier, compteur dans une cellule exemple en A1, il suffit de saisir simplement -1 dans la cellule et clic sur le bouton pour le mettre à zéro.
Si la cellule est caché sous le bouton Atteindre saisir la référence cellule A1 et saisir -1 et clic sur le bouton pour le mettre à zéro
ou on crée un deuxième bouton
Private Sub CommandButton2_Click()
CommandButton1.Caption = 0
[A1] = 0
End Sub
Si tu retiens le code compteur il faut créer un deuxième bouton
Private Sub CommandButton2_Click()
CommandButton1.Caption = 0
compteur = 0
End Sub
Tout dépend du code que tu as retenu, pour le premier, compteur dans une cellule exemple en A1, il suffit de saisir simplement -1 dans la cellule et clic sur le bouton pour le mettre à zéro.
Si la cellule est caché sous le bouton Atteindre saisir la référence cellule A1 et saisir -1 et clic sur le bouton pour le mettre à zéro
ou on crée un deuxième bouton
Private Sub CommandButton2_Click()
CommandButton1.Caption = 0
[A1] = 0
End Sub
Si tu retiens le code compteur il faut créer un deuxième bouton
Private Sub CommandButton2_Click()
CommandButton1.Caption = 0
compteur = 0
End Sub
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 11/12/2010 à 03:24
Modifié par lermite222 le 11/12/2010 à 03:24
Bonjour,
Une autre solution ?
Clic gauche incrémente la variable.
Clic droit remet à zéro.
Clic gauche + Ctrl ou Maju décrémente la variable
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Une autre solution ?
Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Static Num As Integer If Button = 1 Then If Shift = 0 Then Num = Num + 1 ElseIf Num > 0 Then Num = Num - 1 End If Else Num = 0 End If CommandButton1.Caption = Num End Sub
Clic gauche incrémente la variable.
Clic droit remet à zéro.
Clic gauche + Ctrl ou Maju décrémente la variable
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mike-31
Messages postés
18318
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 avril 2024
5 082
11 déc. 2010 à 11:52
11 déc. 2010 à 11:52
Re,
Pour éviter un effacement accidentel avec un seul bouton et une boite de dialogue. un clic le compteur est croissant, double clic une boite de dialogue propose l'effacement
Private compteur As Long
Private Sub CommandButton1_Click()
compteur = compteur + 1
CommandButton1.Caption = compteur
End Sub
Private Sub CommandButton1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
MyValue = MsgBox("Souhaitez vous continuer", _
vbYesNo + vbCritical + vbDefaultButton1, "Le compteur va être remis à zéro ?")
If MyValue = vbYes Then
CommandButton1.Caption = 0
compteur = 0
End If
End Sub
la msgbox peut également être ajouté à l'excellent code de Lermite que je salue
Pour éviter un effacement accidentel avec un seul bouton et une boite de dialogue. un clic le compteur est croissant, double clic une boite de dialogue propose l'effacement
Private compteur As Long
Private Sub CommandButton1_Click()
compteur = compteur + 1
CommandButton1.Caption = compteur
End Sub
Private Sub CommandButton1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
MyValue = MsgBox("Souhaitez vous continuer", _
vbYesNo + vbCritical + vbDefaultButton1, "Le compteur va être remis à zéro ?")
If MyValue = vbYes Then
CommandButton1.Caption = 0
compteur = 0
End If
End Sub
la msgbox peut également être ajouté à l'excellent code de Lermite que je salue
OH la que de propositions !!!!
je regarde tout ça et je vous tiens au courant.
petite question : si je veux avoir un bouton de couleur différente que le gris, je suppose qu'il faut un activex et non un bouton de commande ?
je ne crois pas que l'on puisse changer la couleur d'un bouton de commande? ou alors je me trompe?
merci
je regarde tout ça et je vous tiens au courant.
petite question : si je veux avoir un bouton de couleur différente que le gris, je suppose qu'il faut un activex et non un bouton de commande ?
je ne crois pas que l'on puisse changer la couleur d'un bouton de commande? ou alors je me trompe?
merci
Mike-31
Messages postés
18318
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 avril 2024
5 082
Modifié par Mike-31 le 11/12/2010 à 16:17
Modifié par Mike-31 le 11/12/2010 à 16:17
Re,
Il est tout à fait possible de changer la couleur du bouton, lorsque tu es en mode création, double clic sur le bouton ou clic droit et visualiser le code
cherches Backcolor et choisis une couleur sur la palette.
il est également possible de changer la couleur du bouton, dans ton cas en fonction de sa valeur en ajoutant une ligne de code par conditionnelle
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Il est tout à fait possible de changer la couleur du bouton, lorsque tu es en mode création, double clic sur le bouton ou clic droit et visualiser le code
cherches Backcolor et choisis une couleur sur la palette.
il est également possible de changer la couleur du bouton, dans ton cas en fonction de sa valeur en ajoutant une ligne de code par conditionnelle
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
AH ! intéressant !
changer la couleur du bouton en fonction de sa valeur ?
je prends ! je peux avoir le code STP
merci encore
changer la couleur du bouton en fonction de sa valeur ?
je prends ! je peux avoir le code STP
merci encore
Mike-31
Messages postés
18318
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 avril 2024
5 082
11 déc. 2010 à 18:00
11 déc. 2010 à 18:00
Re,
oui mais je ne suis pas devin, comme pour la mise en forme conditionnelle il faut avoir des bornes, exemple de 0 à 5 la couleur de 6 à 10 la couleur etc ...
oui mais je ne suis pas devin, comme pour la mise en forme conditionnelle il faut avoir des bornes, exemple de 0 à 5 la couleur de 6 à 10 la couleur etc ...
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 11/12/2010 à 18:23
Modifié par lermite222 le 11/12/2010 à 18:23
Bonjour Mike,
Rasoir !! : Tu peu ajouter...
Rasoir !! : Tu peu ajouter...
End If CommandButton1.Caption = Num [A1] = Num End Sub
re,
tu n'es pas devin............dommage par les temps qui courts; ça pourrait servir :)
non sérieusement, peu importe les couleurs que tu emploies, j'adapterais.
ai-je compris ta question ?
en fonction des boutons j'adapterais.
merci
tu n'es pas devin............dommage par les temps qui courts; ça pourrait servir :)
non sérieusement, peu importe les couleurs que tu emploies, j'adapterais.
ai-je compris ta question ?
en fonction des boutons j'adapterais.
merci
lermitte222
petite question : j'ai plusieurs boutons programmés comme tu me l'a conseillé.
maintenant, comment puis je faire pour que tous reviennent à 0, en appuyant sur 1 seul par exemple.
je ne sais pas encore si :
* il faudrait appuyer sur 1 pour remettre à 0 tous
* ou si un bouton me permettrait cela
qu'en penses-tu ?
petite question : j'ai plusieurs boutons programmés comme tu me l'a conseillé.
maintenant, comment puis je faire pour que tous reviennent à 0, en appuyant sur 1 seul par exemple.
je ne sais pas encore si :
* il faudrait appuyer sur 1 pour remettre à 0 tous
* ou si un bouton me permettrait cela
qu'en penses-tu ?
Mike-31
Messages postés
18318
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 avril 2024
5 082
11 déc. 2010 à 21:33
11 déc. 2010 à 21:33
Re,
ci dessous trois codes, deux pour deux bouton compteur avec changement de couleur et un pour remise à zéro des deux autres
Private compteur As Long
'la variable compteur est placé hors code
Private Sub CommandButton1_Click()
compteur = compteur + 1
CommandButton1.Caption = compteur
'Conditionnelle couleur bouton
If CommandButton1.Caption >= 0 Then CommandButton1.BackColor = &H8000000F
If CommandButton1.Caption >= 3 Then CommandButton1.BackColor = &HFFFF&
If CommandButton1.Caption >= 6 Then CommandButton1.BackColor = &HFF&
End Sub
Private Sub CommandButton2_Click()
compteur = compteur + 1
CommandButton2.Caption = compteur
If CommandButton2.Caption >= 0 Then CommandButton2.BackColor = &H8000000F
If CommandButton2.Caption >= 3 Then CommandButton2.BackColor = &HFFFF&
If CommandButton2.Caption >= 6 Then CommandButton2.BackColor = &HFF&
End Sub
Private Sub CommandButton3_Click()
'Macro remet compteurs à zéro
CommandButton1.Caption = 0
compteur = 0
CommandButton1.BackColor = &H8000000F
CommandButton2.Caption = 0
compteur = 0
CommandButton2.BackColor = &H8000000F
End Sub
ci dessous trois codes, deux pour deux bouton compteur avec changement de couleur et un pour remise à zéro des deux autres
Private compteur As Long
'la variable compteur est placé hors code
Private Sub CommandButton1_Click()
compteur = compteur + 1
CommandButton1.Caption = compteur
'Conditionnelle couleur bouton
If CommandButton1.Caption >= 0 Then CommandButton1.BackColor = &H8000000F
If CommandButton1.Caption >= 3 Then CommandButton1.BackColor = &HFFFF&
If CommandButton1.Caption >= 6 Then CommandButton1.BackColor = &HFF&
End Sub
Private Sub CommandButton2_Click()
compteur = compteur + 1
CommandButton2.Caption = compteur
If CommandButton2.Caption >= 0 Then CommandButton2.BackColor = &H8000000F
If CommandButton2.Caption >= 3 Then CommandButton2.BackColor = &HFFFF&
If CommandButton2.Caption >= 6 Then CommandButton2.BackColor = &HFF&
End Sub
Private Sub CommandButton3_Click()
'Macro remet compteurs à zéro
CommandButton1.Caption = 0
compteur = 0
CommandButton1.BackColor = &H8000000F
CommandButton2.Caption = 0
compteur = 0
CommandButton2.BackColor = &H8000000F
End Sub
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 12/12/2010 à 01:27
Modifié par lermite222 le 12/12/2010 à 01:27
Re,
Mike : Un petit bug dans ton dernier exemple.
Pour que ton exemple fonctionne il faut autant de variable que de bouton :-)
rasoir :
Pour éviter d'ajouter un bouton de remise à zéro
Dans le haut du module coller ..
Dans chaque code des boutons..(exemple pour 2 boutons mais tu peu en ajouter autant que tu veux)
Clic gauche incrémente le bouton.
Clic droit remet le bouton à zéro.
Clic gauche + Ctrl ou Maju décrémente le bouton
Clic droit + Ctrl ou Maju remet TOUT les boutons à zéro.
Tu dis,
Edit : au cas ou c'est pas clair, un exemple avec 4 boutons
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Mike : Un petit bug dans ton dernier exemple.
Pour que ton exemple fonctionne il faut autant de variable que de bouton :-)
rasoir :
Pour éviter d'ajouter un bouton de remise à zéro
Dans le haut du module coller ..
Dim Coul As Long Sub RAZ() Dim Obj As OLEObject Dim Cel As Range, Plage As Range 'boucle sur les objets de la Feuil1 For Each Obj In Sheets("Feuil1").OLEObjects 'verifie s'il s'agit d'un bouton If TypeOf Obj.Object Is MSForms.CommandButton Then Obj.Object.Caption = "0" Obj.Object.BackColor = &H8000000F End If Next Obj Set Plage = Range("A1:B1") 'Adapter la plage aux boutons For Each Cel In Plage Cel = 0 Next Cel End Sub Private Function BT(ByVal Button As Integer, ByVal Shift As Integer, Num As Integer) As Integer If Button = 1 Then If Shift = 0 Then Num = Num + 1 ElseIf Num > 0 Then Num = Num - 1 End If Else Num = 0 If Shift <> 0 Then RAZ End If BT = Num Select Case Num Case Is >= 6: Coul = &HFF& Case Is >= 3: Coul = &HFFFF& Case Is >= 0: Coul = &H8000000F End Select End Function
Dans chaque code des boutons..(exemple pour 2 boutons mais tu peu en ajouter autant que tu veux)
Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) CommandButton1.Caption = BT(Button, Shift, Val(CommandButton1.Caption)) CommandButton1.BackColor = Coul [A1] = CommandButton1.Caption End Sub Private Sub CommandButton2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) CommandButton2.Caption = BT(Button, Shift, Val(CommandButton2.Caption)) CommandButton2.BackColor = Coul [B1] = CommandButton2.Caption End Sub
Clic gauche incrémente le bouton.
Clic droit remet le bouton à zéro.
Clic gauche + Ctrl ou Maju décrémente le bouton
Clic droit + Ctrl ou Maju remet TOUT les boutons à zéro.
Tu dis,
Edit : au cas ou c'est pas clair, un exemple avec 4 boutons
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
ok, merci à tous les deux
je vérifie ça !
petite question : y a- t -il un moyen pour paramétrer la taille des boutons ?
quand on en a beaucoup à faire et que l'on veut qu'ils soient tous pareils en terme de taille, peut-on paramétrer cela ?
merci d'avance
je vérifie ça !
petite question : y a- t -il un moyen pour paramétrer la taille des boutons ?
quand on en a beaucoup à faire et que l'on veut qu'ils soient tous pareils en terme de taille, peut-on paramétrer cela ?
merci d'avance
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
12 déc. 2010 à 15:27
12 déc. 2010 à 15:27
Si tu a beaucoup de boutons