Code vba pour cellules incrémentées

Résolu
Norma -  
 Norma -
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 ?????????

8 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  3. Norma
     
    Merci pour les réponses
    je vous donne des nouvelles dès que j'ai fait les essais
    A+
    cordialement
    0
  4. Norma
     
    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
    1. norma
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  7. Norma
     
    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
    1. Norma
       
      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
  8. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  9. Norma
     
    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