Code vba pour cellules incrémentées

Résolu/Fermé
Norma - 6 nov. 2010 à 20:08
 Norma - 9 nov. 2010 à 12:09
Bonjour,
voilà le problème que je vous pose !
j'ai une cellule J5 qui est incrémentée de 1 en 1 par un bouton.
je voudrais que l'incrémentation aille jusqu'à 5 avec un message disant " changement " puis lorsque l'incrémentation atteint 10 " fin".
je ne sais pas comment introduire ses données dans la macro

si quelqu'un peut m'aider je l'en remercie par avance

PS : j'ai déjà écrit pour le bouton
[J5] = [J5]+1
et après ?????????


A voir également:

8 réponses

ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
6 nov. 2010 à 20:35
peut etre quelque chose comme ça

 If [J5] < 10 Then
    [J5] = [J5] + 1
  End If
  If [J5] = 5 Then
    ms = MsgBox("changement", vbOKOnly)
  Else
     If [J5] = 10 Then
       ms = MsgBox("fin", vbOKOnly)
     End If
  End If


bonne suite ...
0
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
Modifié par Mike-31 le 6/11/2010 à 20:52
Salut,

Je ne sais pas si j'ai bien compris tes attentes, mais essayes ce code

Private Sub CommandButton1_Click()
[J5] = [J5] + 1
If [J5] <= 5 Then MsgBox "Changement"
If [J5] = 10 Then MsgBox "Fin"
End Sub

Si tu souhaites arrêtrer le compteur à 10

Private Sub CommandButton1_Click()
If [J5] = 10 Then Exit Sub
[J5] = [J5] + 1
If [J5] <= 5 Then MsgBox "Changement"
If [J5] = 10 Then MsgBox "Fin"
End Sub

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Merci pour les réponses
je vous donne des nouvelles dès que j'ai fait les essais
A+
cordialement
0
Bonjour,

je ne veux vexé personne, mais j'ai plutôt utilisé le code de Mike 31.
tout fonctionne bien; j'ai tout de même modifié la valeur de la 1ère série en mettant =5, parce que naturellement si <=, le message "changement" intervenait à chaque nouvelle incrémentation !

merci du coup de main.
A+ sur le forum
bonne journée et bonne continuation
aux experts
0
petite question subsidiaire toutefois !
j'ai insérer une forme un triangle isocèle de couleur rouge
il y a les formes n° 3 et 4 relier au bouton en J5
est-il possible quand le compteur atteint 5 de faire passer automatiquement dans la macro la couleur de le forme en blanc par exemple ?
en d'autres termes à 5 la forme N°3 passe en blanc et à 10 la forme N° 4 passe en blanc
et quand tout est fini tout redevient rouge?
pardon pour se surcroit de travail, mais c'est une idée qui m'interresse.
merci d'avance
A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
Modifié par Mike-31 le 7/11/2010 à 23:06
Re,

Oui bien sur, tout ou presque tout est possible.
explique moi cette phrase

en d'autres termes à 5 la forme N°3 passe en blanc et à 10 la forme N° 4 passe en blanc
et quand tout est fini tout redevient rouge?


Si je comprends bien, tes formes sont en rouge, à 5 une forme passe en blanc et à 10 l'autre mais qu'entends tu par quand tout est fini
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Bonjour,

merci de la réponse
vous avez parfaitement bien compris : et le code doit s'appliquer aux 2 boutons qui sont séparés et qui sont
1er bouton relié à la forme N)3 et à la forme 4.
en y réfléchissant, il serait mieux d'avoir un changement de couleur à 5 pour la forme 3 et à 10 pour la forme 4 ET un bouton qui me permette de remettre tous les triangles en rouge (pour repartir de 0 en quelque sorte).

si me explications ne suffisent pas , n'hésitez pas
cordialement
A+
0
Private Sub CommandButton1_Click()
If [J5] = 10 Then Exit Sub
[J5] = [J5] + 1
If [J5] = 5 Then MsgBox "Changement "
If [J5] = 10 Then MsgBox "Fin de la série "
End Sub

PS : il faudrait , si possible, intégrer le changement de couleur des formes dans le code pour le bouton CommandButton1
merci d'avance
Norma
0
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
8 nov. 2010 à 23:08
Re,

Commence par nommer tes formes, dans mon exemple la première forme est nommée Tri_1 et la seconde Tri_2.
Pour nommer chaque forme clic sur une forme pour l'activer, clic dans la barre d'adresse ou figure la référence de la forme et saisir Tri_1 et Entrée idem pour le seconde

Pour la recolorisation des formes, il est possible d'éviter le bouton en effaçant simplement le contenu de la cellule J5

Pour le code clic droit sur l'onglet de feuille/Visualiser le code et coller ces deux codes

Private Sub CommandButton1_Click()
If [J5] = 10 Then Exit Sub
[J5] = [J5] + 1
If [J5] = 5 Then
MsgBox "Changement "
ActiveSheet.Shapes("Tri_1").Fill.ForeColor.SchemeColor = 9
End If
If [J5] = 10 Then
MsgBox "Fin de la série "
ActiveSheet.Shapes("Tri_2").Fill.ForeColor.SchemeColor = 9
End If
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$5" Then
If Target = "" Then
ActiveSheet.Shapes("Tri_1").Fill.ForeColor.SchemeColor = 10
ActiveSheet.Shapes("Tri_2").Fill.ForeColor.SchemeColor = 10
End If
End If
End Sub

Si tu as besoin d'un petit montage fait signe
0
Mike_31 tu es un génie !
ça marche et c'est vraiment super
j'ai un peu adapté pour mon travail et pas de problème
BRAVO ET MERCI

je continue mon boulot et si je coince, je poste à nouveau

encore merci pour tout
Norma
0