Création d'une liste via une boucle

Bonjour,

Je pars d'un tableau, dans ce tableau, chaque case de la colonne D peut avoir pour valeur -1 ou 1.
( Ce chiffre variant en fonction de la date)

J'aimerais "cacher' les lignes ou la case D est = 1 ( et donc n'avoir que celle ou la case D=-1.

Pour ça j'ai tenter :

Dim i As Integer
For i = 1 To 100
If [Di<0] Then
EntireRow(i).Hidden = True
Else: EntireRow(i).Hidden = False

End

Sans grand succès.

Auriez-vous l'idée de ce qui cloche ?

Merci d'avance,
DGVDR

4 réponses

  1. Bonjour,

    Si c'est une macro Excel, voilà la syntaxe correcte.

    Sub test()
    Dim i As Integer
    For i = 1 To 100
    Rows(i).Select
    If Range("D" & i).Value < 0 Then
        Selection.EntireRow.Hidden = False
    Else
        Selection.EntireRow.Hidden = True
    End If
    Next
    End Sub


    A+
    1. Une dernière indication...

      J'aimerai que certaines lignes ne fassent pas partie de la boucle ( exclure des i dans mon 1 To 100 )

      Est-ce possible?
      1. Bien sur c'est possible, il suffit de completer condition If

        If Range("D" & i).Value < 0 and Range("E" & i).Value = 2012 Then 'par exemple
    2. Bonjour,

      Ce n'est pas exactement ce que je souhaitais, car les lignes à exclure dépendait de la valeur de ("D" & i).

      J'ai résolu mon problème en créant plusieurs boucles,
      La première s'arrêtant à L-1 de la ligne devant être exclu de 'l'analyse'
      La seconde reprenant 'l'analyse' à L+1.
      Et sa autant de fois qu'il y a de ligne à exclure...

      Merci pour tes conseils.