VBA excel help svp

Résolu
MC's Assigned geek -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
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. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Demande incompréhensible .....

    en plus:
    *range("C2")* then donothing else row hide : Patois VBA maison ?
    --
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Salut Pijaku

    bravo, Champollion ! ;-)

    Je te laisse le bébé
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      merci du cadeau. Bon j'vais boire un p'tit café et je m'en occupe après.
      Bonjour chez toi.
      0
  3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    On ne doit tester que la colonne C ou la valeur contenue dans "C2" peut être partout dans ton tableau?
    0
  4. MC's Assigned geek
     
    La valeur C2 peut-être n'importe ou dans chaque ligne testé...

    Merci de ton aide Pijaku,
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  7. MC's Assigned geek
     
    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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Salut,
      Chez moi cela fonctionne bien. N'y a t'il pas des lignes déjà cachées dans ton tableau?
      0
  8. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour

    Tu peux remplacer Cells(i, j).EntireRow.Hidden = True
    par
    Rows(i).Hidden = True
    0