VBA excel help svp

Résolu/Fermé
MC's Assigned geek - 25 août 2009 à 03:42
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 27 août 2009 à 09:36
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
A voir également:

7 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 311
25 août 2009 à 08:46
Demande incompréhensible .....

en plus:
*range("C2")* then donothing else row hide : Patois VBA maison ?
--
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 753
25 août 2009 à 09:13
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 311
25 août 2009 à 09:32
Salut Pijaku

bravo, Champollion ! ;-)

Je te laisse le bébé
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 753
25 août 2009 à 09:33
merci du cadeau. Bon j'vais boire un p'tit café et je m'en occupe après.
Bonjour chez toi.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 753
25 août 2009 à 09:52
On ne doit tester que la colonne C ou la valeur contenue dans "C2" peut être partout dans ton tableau?
0
MC's Assigned geek
26 août 2009 à 00:05
La valeur C2 peut-être n'importe ou dans chaque ligne testé...

Merci de ton aide Pijaku,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 753
26 août 2009 à 10:18
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
MC's Assigned geek
27 août 2009 à 00:58
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
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 753
27 août 2009 à 09:08
Salut,
Chez moi cela fonctionne bien. N'y a t'il pas des lignes déjà cachées dans ton tableau?
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 714
27 août 2009 à 09:36
bonjour

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