VBA excel help svp

Résolu
Bonjour,

Je suis débutant en VBA et je souhaiterai effectuer une procédure qui fasse grosso modo:

Range("C3").activate
if activerow (activecell.row?) = *range("C2")* then donothing else row hide
activecell.offset(0,1)
if activerow (activecell.row?) = *range("C2")* then donothing else row hide
activecell.offset(0,1)

...

et ainsi de suite jusqu'à ce qu'il n'y ai plus rien dans les lignes...

Pour résumer, qui cache toute les lignes qui ne contiennent pas ce que l'on rentre dans la cellule C2 et qui ne sont pas vides

Merci d'avance de votre aide
Configuration: Windows XP Internet Explorer 6.0

7 réponses

  1. Contributeur
    bonjour

    Tu peux remplacer Cells(i, j).EntireRow.Hidden = True
    par
    Rows(i).Hidden = True
    0
    1. Malheureusement ca ne marche pas...
      Il semble y avoir un problème avec la ligne

      Cells(i, j).EntireRow.Hidden = True

      ... je continue à chercher de mon côté mais compte sur vous pour m'aider.

      MC's a gK
      0
      1. Modérateur
        Salut,
        Chez moi cela fonctionne bien. N'y a t'il pas des lignes déjà cachées dans ton tableau?
        0
    2. Modérateur
      Salut,
      Ce code masque toutes les lignes ou l'on ne trouve pas la valeur de la cellule C2 (y compris les lignes vides) :

      Dim NBlignes As Integer, NBCol As Integer, i As Integer, j As Integer, cpt As Integer
      cpt = 0
      NBlignes = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row - 1
      NBCol = ActiveSheet.UsedRange.Columns.Count
      For i = 3 To NBlignes
      For j = 1 To NBCol
      If Cells(i, j).Value = Range("C2").Value Then
      cpt = 1
      End If
      Next j
      If cpt = 0 Then
      Cells(i, j).EntireRow.Hidden = True
      End If
      cpt = 0
      Next i
      0
      1. La valeur C2 peut-être n'importe ou dans chaque ligne testé...

        Merci de ton aide Pijaku,
        0
        1. Modérateur
          On ne doit tester que la colonne C ou la valeur contenue dans "C2" peut être partout dans ton tableau?
          0
          1. Contributeur
            Salut Pijaku

            bravo, Champollion ! ;-)

            Je te laisse le bébé
            0
            1. Modérateur
              merci du cadeau. Bon j'vais boire un p'tit café et je m'en occupe après.
              Bonjour chez toi.
              0
          2. Contributeur
            Demande incompréhensible .....

            en plus:
            *range("C2")* then donothing else row hide : Patois VBA maison ?
            --
            0
            1. Modérateur
              Salut michel,
              pour résumer, qui cache toute les lignes qui ne contiennent pas ce que l'on rentre dans la cellule C2 et qui ne sont pas vides
              Donc si j'ai bien compris,
              1- test sur la ligne pour savoir si on retrouve le contenu de C2 dans une cellule
              2- si oui : on ne fait rien
              3- si non : si elle est "non vide" : on masque la ligne
              0