Boucle jusqu'à la prochaine valeur égale à 0

Bonjour le forum,

Tout est dit dans le titre. J'aurais besoin de votre aide pour que ma deuxième boucle For s'effectue jusqu'à ce qu'elle trouve la valeur 0.

Voici mon code:

LastLig = Sheets("Séquenceur").Cells(Rows.Count, "A").End(xlUp).Row

For i = 2 To LastLig

If Cells(i, 1) = "0" And Cells(i + 1, 1) = ".1" Then

For j = 2 To Cells.Value = 0

If Cells(i + j, 1) = "..2" And Cells(i + j, 9) <> "" Then

Cells(i, 9) = "Complet"

Cells(i, 9).Interior.ColorIndex = 43

Else

Exit For

End If

Next j

End If

Next i

Merci d'avance pour votre aide!

BZH83

Re,

Il faut utiliser un Do... While dans ces conditions

Bonjour BrunoM45,

Merci pour cette info! Le code se présenterait alors comme ça?

Do While j = 0

If Cells(i + j, 1) = "..2" And Cells(i + j, 9) <> "" Then

Cells(i, 9) = "Complet"

Cells(i, 9).Interior.ColorIndex = 43

Else

Exit For

End If

Loop

Mais ça ne me semble pas concluant...

Re,

Sans fichier compliqué

Quelle cellule veux-tu tester qui soit égale à 0 ?

Je voyais plus un truc du style

  LastLig = Sheets("Séquenceur").Cells(Rows.Count, "A").End(xlUp).Row
  For i = 2 To LastLig
    If Cells(i, 1) = 0 And Cells(i + 1, 1) = 0.1 Then
      J = 2
      Do While Cells(i + J, 1).Value <> 0
        If Cells(i + J, 1) = "..2" And Cells(i + J, 9) <> "" Then
          Cells(i, 9) = "Complet"
          Cells(i, 9).Interior.ColorIndex = 43
        End If
        J = J + 1
      Loop
    End If
  Next i

A+

Re,

Avec un fichier c'est mieux en effet...

Je voudrais que mon programme mette "complet" ou "incomplet" en colonne B à chaque niveau 0.

Si pour un niveau 0, tous les niveaux .1 sont remplis en colonne B alors il faut mettre "complet" au niveau 0

Si pour un niveau 0, tous les niveaux ..2 de chaque niveaux .1 sont remplis en colonne B alors il faut mettre "complet" au niveau 0

Sinon il faut mettre "incomplet" au niveau 0

Merci d'avance!!

BZH83

7boucle.xlsm (30.35 Ko)

Re,

Sans fichier cela aurait été vraiment compliqué

Le voici avec le code testé qui semble fonctionner

En colonne B colonne remplie après test, en D la colonne originale

A+

12bzh83-boucle.xlsm (39.67 Ko)

Salut BrunoM45,

Merci pour ce super code et ta rapidité!

Cependant, il y a quelques points qui ne sont pas pris en compte comme :

  • si il y a un niveau .1 seul et qu'il est remplis en colonne B alors le niveau 0 est "complet"
  • si il y a un niveau .1 vide mais que tous ces niveaux .2 sont remplis en colonne B alors le niveau 0 est complet et vice-versa si le niveau .1 est remplis en colonne B mais que ces niveaux .2 sont vides alors le niveau 0 est complet.
J'ai dû mal expliquer avant

Je vais me pencher sur ton code et si tu as une idée je suis preneur!

En tout cas merci encore!

BZH83

Salut le forum, BrunoM45,

Y a-t-il une possibilité de garder en "mémoire" les niveaux remplis ou non et une fois arrivé au prochain niveau 0 faire un "bilan" et affecter "complet" ou "incomplet" en fonction des critères?

BZN83

Bonjour le forum,

Je suis toujours bloqué sur mon programme car je n'arrive pas à prendre en compte tous les cas de figures possibles

Je réitère mon problème: le niveau 0 est complet si tous ces niveaux 1 sont complets. Le niveaux 1 peut être complet si lui même est remplis ou si tous ces niveaux 2 sont tous remplis.

Voici une ébauche de mon programme avec l'aide de BrunoM45

Merci

BZH83

5bzh83-boucle.xlsm (21.34 Ko)

Salut le forum!

Après une semaine de recherche je peux clôturer ce sujet!

Je vous met le code si cela intéresse quelqu'un

Bonne journée!

BZH83

19bzh83-boucle.xlsm (23.91 Ko)
Rechercher des sujets similaires à "boucle prochaine valeur egale"