Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/09/2011, 11h53   #1
Invité de passage
 
Homme patrick camas
Responsable de projet fonctionnel
Inscription : septembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme patrick camas
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Responsable de projet fonctionnel
Secteur : Communication - Médias

Informations forums :
Inscription : septembre 2011
Messages : 2
Points : 0
Points : 0
Par défaut Démasquage de la ligne au dessus de celles affichées

Bonjour à tous et enchanté puisque je suis nouveau.
Voici ma demande puisque je ne peux pas joindre de fichier.

J'ai un classeur excel 2007 avec environ 300 lignes et 20 colonnes environ cela dépend des fois.
Chaque colonne comporte un en tête mais dans les lignes toutes les cellules ne sont pas systématiquement remplies.
J'ai par contre une colonne N qui est systématiquement remplie par un 1 ou un 0 dans chaque ligne.
J'applique un filtre qui m'affiche que les lignes ou il y a la valeur 1. Il me reste environ une 40 de lignes affichées.


Mon but final est de créer une macro qui m'affiche seulement la ligne entière qu'il y avait au dessus de la valeur 1 (en plus de celle ou il y a le 1 qui est déjà affichée) et pas les autres.

Donc je voudrai me retrouver avec les lignes ou ya 1 en colonne N + celle du dessus uniquement affichées.

Je vous remercie
draale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 20h25   #2
Invité régulier
 
Homme
Inscription : septembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2011
Messages : 6
Points : 7
Points : 7
Salut,

Si j'ai bien compris, si on appelle L l'indice de ligne, tu souhaites conserver toutes les lignes vérifiant : Cellule(L,N) = 1 ou Cellule(L+1,N)

Si oui, tu peux utiliser une boucle for each Cellule dans ta colonne N pour créer un filtre :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
Dernière_Ligne = Cells(65000, N).End(xlUp).Row
 
For Each Cellule In Cells(2, N).Resize(Dernière_Ligne - 1)
 
If Cellule = 1 Or Cellule.Offset(1, 0) = 1 Then
 
Rows(Cellule.Row).Hidden = False
Else: Rows(Cellule.Row).Hidden = True
 
End If
 
Next
Cordialement,
n.
neozenfragance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 08h32   #3
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 773
Points : 2 093
Points : 2 093
Bonjour,

Ceci doit faire ce que tu veux :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
Sub Cacher()
 
    Dim I As Long
 
    For I = 2 To Worksheets("Feuil1").Cells(Rows.Count, 14).End(xlUp).Row
 
 
        If Cells(I, 14).Value = 1 Then
 
            Cells(I, 14).Offset(-1, 14).EntireRow.Hidden = False
            Cells(I, 14).EntireRow.Hidden = False
 
        Else
            Cells(I, 14).EntireRow.Hidden = True
 
        End If
 
    Next I
 
End Sub
Hervé.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 08h51   #4
Invité de passage
 
Homme patrick camas
Responsable de projet fonctionnel
Inscription : septembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme patrick camas
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Responsable de projet fonctionnel
Secteur : Communication - Médias

Informations forums :
Inscription : septembre 2011
Messages : 2
Points : 0
Points : 0
Génial ça marche,

ça c'est du rapide et efficace, droit au but !

Je vous remercie vivement
draale est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h04.


 
 
 
 
Partenaires

Hébergement Web