Masquer sous condition

Le
rthompson
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle de
C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #19126891
bonjour Rex,

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
If Cells(i, "A") > [C1] Or Cells(i, "A") < [B1] Then Rows(i).Hidden
= True
Next i
End Sub

isabelle

rthompson a écrit :
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle de
C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex






Corto
Le #19126881
Bonjour rthompson,
Rows(i).Hidden = (Cells(i, "A") > [C1])



cache les cellules > à C1 et affiche les autres qu'elles soient > ou < à B1
Rows(i).Hidden = (Cells(i, "A") < [B1])



Cache les cellules < B1 et affiche les autres qu'elles soient > ou < à C1
en clair la seconde ligne défait ce que la premiere à fait.

La solution est d'utiliser un OU logique
Sub Periode_Visible2()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = Cells(i, 1) > [C1] Or Cells(i, 1) < [B1]
Next i
End Sub

Corto

rthompson a écrit :
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle de
C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex






Jacky
Le #19126871
Bonjour,

Je voudrais afficher uniquement les lignes dont la date est entre celle de
C1 et B1


'-------------
Sub jj()
Application.ScreenUpdating = False
Range("a5:a" & Cells(Rows.Count, "a").End(3).Row).EntireRow.Hidden = False
For Each c In Range("a5:a" & Cells(Rows.Count, "a").End(3).Row)
If c < [b1] Or c > [c1] Then c.EntireRow.Hidden = True
Next
End Sub
'-----------------

--
Salutations
JJ


"rthompson" news:
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle de
C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex





rthompson
Le #19126851
Bonjour

Je te réponds en premier parceque ta solution
quoique qu'ecellente au demeurant
ne me convient pas dans ce cas-ci

MAIS

Un grand merci à toi et merci pour l'offre
et pour tes contributions régulières

A bientôt

Rex


"MichDenis"
Bonjour RThompson,

As-tu essayé le filtre automatique / Personnalisé ?



"rthompson" groupe de discussion :
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle de
C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex


rthompson
Le #19126831
Bonjour

ET MERCI

Cette solution me donne entière satisfaction

Merci à toi et à très bientôt

Rex



"Corto" %
Bonjour rthompson,
Rows(i).Hidden = (Cells(i, "A") > [C1])



cache les cellules > à C1 et affiche les autres qu'elles soient > ou < à B1
Rows(i).Hidden = (Cells(i, "A") < [B1])



Cache les cellules < B1 et affiche les autres qu'elles soient > ou < à C1
en clair la seconde ligne défait ce que la premiere à fait.

La solution est d'utiliser un OU logique
Sub Periode_Visible2()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = Cells(i, 1) > [C1] Or Cells(i, 1) < [B1]
Next i
End Sub

Corto

rthompson a écrit :
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle de
C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex






rthompson
Le #19126821
Bonjour

C'est bizarre

Quand je lance ta macro elle cache toutes les lignes de 5 à 50

Je suis curieux par nature
donc aussitôt que j'ai le temps je vais voire ce qui s'y passe

Mais en attendant et comme je suis pressé

Je prends la solution de Corto qui fonctionne nickel

A bientôt et MERCI

PS
Comment fait-il en ce printemp là-bas dans le grand nord
Si je ne me trompe tu es de l'autre côté de la grande eau, non?


Rex



"isabelle" a écrit dans le message de news:

bonjour Rex,

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
If Cells(i, "A") > [C1] Or Cells(i, "A") < [B1] Then Rows(i).Hidden =
True
Next i
End Sub

isabelle

rthompson a écrit :
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle
de C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex








rthompson
Le #19126811
Bonjour
Ta solution me donne le même problème que celle d'Isabelle

Elle cache toutes lignes

La solution de Corto fonctionne pour ce que je cherche à faire donc je
prends celle-là

MERCI pour ton aide et à très bientôt

Rex


"Jacky"
Bonjour,

Je voudrais afficher uniquement les lignes dont la date est entre celle
de C1 et B1


'-------------
Sub jj()
Application.ScreenUpdating = False
Range("a5:a" & Cells(Rows.Count, "a").End(3).Row).EntireRow.Hidden = False
For Each c In Range("a5:a" & Cells(Rows.Count, "a").End(3).Row)
If c < [b1] Or c > [c1] Then c.EntireRow.Hidden = True
Next
End Sub
'-----------------

--
Salutations
JJ


"rthompson" news:
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle
de C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex









Jacky
Le #19127351
Re..
Ta solution me donne le même problème que celle d'Isabelle
Elle cache toutes lignes


Pffff....
http://www.cijoint.fr/cjlink.php?file=cj200904/cijSz4HxOd.xls

--
Salutations
JJ


"rthompson" news:
Bonjour
Ta solution me donne le même problème que celle d'Isabelle

Elle cache toutes lignes

La solution de Corto fonctionne pour ce que je cherche à faire donc je
prends celle-là

MERCI pour ton aide et à très bientôt

Rex


"Jacky"
Bonjour,

Je voudrais afficher uniquement les lignes dont la date est entre celle
de C1 et B1


'-------------
Sub jj()
Application.ScreenUpdating = False
Range("a5:a" & Cells(Rows.Count, "a").End(3).Row).EntireRow.Hidden =
False
For Each c In Range("a5:a" & Cells(Rows.Count, "a").End(3).Row)
If c < [b1] Or c > [c1] Then c.EntireRow.Hidden = True
Next
End Sub
'-----------------

--
Salutations
JJ


"rthompson" news:
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle
de C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex













isabelle
Le #19127341
et pourtant ces deux lignes disent exactement la même chose :

If Cells(i, "A") > [C1] Or Cells(i, "A") < [B1] Then Rows(i).Hidden = True

Rows(i).Hidden = Cells(i, 1) > [C1] Or Cells(i, 1) < [B1]


c'est le printemps chez moi (+14c), je demeure au sud du Québec, près de
la frontière US,
ce n'est pas la même chose au nord-est, il on eu une tempête de neige la
semaine dernière, 30 cm de neige avec des vent 90 km/h :-(

a--
isabelle

rthompson a écrit :
Comment fait-il en ce printemp là-bas dans le grand nord
Si je ne me trompe tu es de l'autre côté de la grande eau, non?



isabelle
Le #19127331
voilà : http://cjoint.com/?esgRVqTNN4

isabelle

rthompson a écrit :
Bonjour

C'est bizarre

Quand je lance ta macro elle cache toutes les lignes de 5 à 50

Je suis curieux par nature
donc aussitôt que j'ai le temps je vais voire ce qui s'y passe

Mais en attendant et comme je suis pressé

Je prends la solution de Corto qui fonctionne nickel

A bientôt et MERCI

PS
Comment fait-il en ce printemp là-bas dans le grand nord
Si je ne me trompe tu es de l'autre côté de la grande eau, non?


Rex



"isabelle" a écrit dans le message de news:


bonjour Rex,

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
If Cells(i, "A") > [C1] Or Cells(i, "A") < [B1] Then Rows(i).Hidden =
True
Next i
End Sub

isabelle

rthompson a écrit :

Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle
de C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex














Publicité
Poster une réponse
Anonyme