Discussion:
vba masquer lignes suivant condition
(trop ancien pour répondre)
j-pascal
2008-11-02 19:56:04 UTC
Permalink
Bonjour,

(En vba)
Sur un tableau de 50 lignes, comment puis-je masquer les lignes si les
colonnes D à E ne contiennent aucune saisie (chiffre ou lettre) ?

Merci pour vos lumières,

JP
Jacky
2008-11-02 20:13:48 UTC
Permalink
Bonsoir
par exemple:
'------------------
Sub jj()
For i = 50 To 1 Step -1
If Cells(i, 4) & Cells(i, 5) = "" Then Rows(i).Hidden = True
Next
End Sub
'------------------
--
Salutations
JJ
Post by j-pascal
Bonjour,
(En vba)
Sur un tableau de 50 lignes, comment puis-je masquer les lignes si les
colonnes D à E ne contiennent aucune saisie (chiffre ou lettre) ?
Merci pour vos lumières,
JP
j-pascal
2008-11-03 08:45:00 UTC
Permalink
Post by Jacky
Bonsoir
'------------------
Sub jj()
For i = 50 To 1 Step -1
If Cells(i, 4) & Cells(i, 5) = "" Then Rows(i).Hidden = True
Next
End Sub
'------------------
--
Salutations
JJ
Post by j-pascal
Bonjour,
(En vba)
Sur un tableau de 50 lignes, comment puis-je masquer les lignes si les
colonnes D à E ne contiennent aucune saisie (chiffre ou lettre) ?
Merci pour vos lumières,
JP
Bonjour,

Merci pour cette proposition, mais j'ai précisé "à" et non pas "et" (ce
qui semble être le cas pour ce code).

Je pensais intégrer qqch comme : If Application.CountA([D:E])
mais je ne sais pas comment le combiner avec les variables "i"

@+ ?

JP
Jacky
2008-11-03 09:25:23 UTC
Permalink
Re...
.....mais j'ai précisé "à" et non pas "et"
De la colonne D à la colonne E c'est bien D et E non ?
Ou alors, j'ai pas compris :o((
--
Salutations
JJ
Post by Jacky
Bonsoir
'------------------
Sub jj()
For i = 50 To 1 Step -1
If Cells(i, 4) & Cells(i, 5) = "" Then Rows(i).Hidden = True
Next
End Sub
'------------------
--
Salutations
JJ
Post by j-pascal
Bonjour,
(En vba)
Sur un tableau de 50 lignes, comment puis-je masquer les lignes si les
colonnes D à E ne contiennent aucune saisie (chiffre ou lettre) ?
Merci pour vos lumières,
JP
Bonjour,
Merci pour cette proposition, mais j'ai précisé "à" et non pas "et" (ce
qui semble être le cas pour ce code).
Je pensais intégrer qqch comme : If Application.CountA([D:E])
mais je ne sais pas comment le combiner avec les variables "i"
@+ ?
JP
j-pascal
2008-11-03 10:15:24 UTC
Permalink
Post by Jacky
Re...
.....mais j'ai précisé "à" et non pas "et"
De la colonne D à la colonne E c'est bien D et E non ?
Ou alors, j'ai pas compris :o((
--
Salutations
JJ
Post by Jacky
Bonsoir
'------------------
Sub jj()
For i = 50 To 1 Step -1
If Cells(i, 4) & Cells(i, 5) = "" Then Rows(i).Hidden = True
Next
End Sub
'------------------
--
Salutations
JJ
Post by j-pascal
Bonjour,
(En vba)
Sur un tableau de 50 lignes, comment puis-je masquer les lignes si les
colonnes D à E ne contiennent aucune saisie (chiffre ou lettre) ?
Merci pour vos lumières,
JP
Bonjour,
Merci pour cette proposition, mais j'ai précisé "à" et non pas "et" (ce qui
semble être le cas pour ce code).
Je pensais intégrer qqch comme : If Application.CountA([D:E])
mais je ne sais pas comment le combiner avec les variables "i"
@+ ?
JP
Désolé, vraiment ...

En fait, j'ai pris un exemple ambigü ! Je voulais dire sur une plage,
soit plutôt de D à Z.

Mille pardons ;-(

JP
Jacky
2008-11-03 10:59:17 UTC
Permalink
Re...
Post by j-pascal
soit plutôt de D à Z.
'----------------
Sub jj()
Application.ScreenUpdating = False
Rows("1:50").Hidden = False
For i = 50 To 1 Step -1
If Application.CountBlank(Range(Cells(i, 4), Cells(i, 26))) = 23 Then
Rows(i).Hidden = True
Next
End Sub
'-----------------
--
Salutations
JJ
Post by j-pascal
Post by Jacky
Re...
.....mais j'ai précisé "à" et non pas "et"
De la colonne D à la colonne E c'est bien D et E non ?
Ou alors, j'ai pas compris :o((
--
Salutations
JJ
Post by Jacky
Bonsoir
'------------------
Sub jj()
For i = 50 To 1 Step -1
If Cells(i, 4) & Cells(i, 5) = "" Then Rows(i).Hidden = True
Next
End Sub
'------------------
--
Salutations
JJ
Post by j-pascal
Bonjour,
(En vba)
Sur un tableau de 50 lignes, comment puis-je masquer les lignes si les
colonnes D à E ne contiennent aucune saisie (chiffre ou lettre) ?
Merci pour vos lumières,
JP
Bonjour,
Merci pour cette proposition, mais j'ai précisé "à" et non pas "et" (ce
qui semble être le cas pour ce code).
Je pensais intégrer qqch comme : If Application.CountA([D:E])
mais je ne sais pas comment le combiner avec les variables "i"
@+ ?
JP
Désolé, vraiment ...
En fait, j'ai pris un exemple ambigü ! Je voulais dire sur une plage, soit
plutôt de D à Z.
Mille pardons ;-(
JP
milloche
2008-11-03 11:42:24 UTC
Permalink
Bonjour,
J'ai un problème similaire, mais pas identique un peu plus bas dans la liste des messages.
Titre : inverser le filtre auto. (pour montrer que j'ai lu ce dossier.)
MERCI
"Jacky" <***@marcel.fr> a écrit dans le message de news: %***@TK2MSFTNGP05.phx.gbl...
Re...
Post by j-pascal
soit plutôt de D à Z.
'----------------
Sub jj()
Application.ScreenUpdating = False
Rows("1:50").Hidden = False
For i = 50 To 1 Step -1
If Application.CountBlank(Range(Cells(i, 4), Cells(i, 26))) = 23 Then
Rows(i).Hidden = True
Next
End Sub
'-----------------

--
Salutations
JJ
Post by j-pascal
Post by Jacky
Re...
.....mais j'ai précisé "à" et non pas "et"
De la colonne D à la colonne E c'est bien D et E non ?
Ou alors, j'ai pas compris :o((
--
Salutations
JJ
Post by Jacky
Bonsoir
'------------------
Sub jj()
For i = 50 To 1 Step -1
If Cells(i, 4) & Cells(i, 5) = "" Then Rows(i).Hidden = True
Next
End Sub
'------------------
--
Salutations
JJ
Post by j-pascal
Bonjour,
(En vba)
Sur un tableau de 50 lignes, comment puis-je masquer les lignes si les
colonnes D à E ne contiennent aucune saisie (chiffre ou lettre) ?
Merci pour vos lumières,
JP
Bonjour,
Merci pour cette proposition, mais j'ai précisé "à" et non pas "et" (ce
qui semble être le cas pour ce code).
Je pensais intégrer qqch comme : If Application.CountA([D:E])
mais je ne sais pas comment le combiner avec les variables "i"
@+ ?
JP
Désolé, vraiment ...
En fait, j'ai pris un exemple ambigü ! Je voulais dire sur une plage, soit
plutôt de D à Z.
Mille pardons ;-(
JP
j-pascal
2008-11-03 13:05:26 UTC
Permalink
Post by Jacky
Re...
Post by j-pascal
soit plutôt de D à Z.
'----------------
Sub jj()
Application.ScreenUpdating = False
Rows("1:50").Hidden = False
For i = 50 To 1 Step -1
If Application.CountBlank(Range(Cells(i, 4), Cells(i, 26))) = 23 Then
Rows(i).Hidden = True
Next
End Sub
'-----------------
--
Salutations
JJ
Post by j-pascal
Post by Jacky
Re...
.....mais j'ai précisé "à" et non pas "et"
De la colonne D à la colonne E c'est bien D et E non ?
Ou alors, j'ai pas compris :o((
--
Salutations
JJ
Post by Jacky
Bonsoir
'------------------
Sub jj()
For i = 50 To 1 Step -1
If Cells(i, 4) & Cells(i, 5) = "" Then Rows(i).Hidden = True
Next
End Sub
'------------------
--
Salutations
JJ
Post by j-pascal
Bonjour,
(En vba)
Sur un tableau de 50 lignes, comment puis-je masquer les lignes si les
colonnes D à E ne contiennent aucune saisie (chiffre ou lettre) ?
Merci pour vos lumières,
JP
Bonjour,
Merci pour cette proposition, mais j'ai précisé "à" et non pas "et" (ce
qui semble être le cas pour ce code).
Je pensais intégrer qqch comme : If Application.CountA([D:E])
mais je ne sais pas comment le combiner avec les variables "i"
@+ ?
JP
Désolé, vraiment ...
En fait, j'ai pris un exemple ambigü ! Je voulais dire sur une plage, soit
plutôt de D à Z.
Mille pardons ;-(
JP
Merci, c'est parfait !
Pourquoi fais-tu une boucle à partir de la dernière ligne et non de la
première ?

jp
Jacky
2008-11-03 13:41:58 UTC
Permalink
Re...
Post by j-pascal
Pourquoi fais-tu une boucle à partir de la dernière ligne et non de la
première ?
C'est une habitude, obligatoire quand on veut supprimer.
Mais dans ce cas on peut inverser ;o)
--
Ps: Ce n'est pas pratique de répondre à la fin, ça use la souris ;o))))
Salutations
JJ
Post by j-pascal
Post by Jacky
Re...
Post by j-pascal
soit plutôt de D à Z.
'----------------
Sub jj()
Application.ScreenUpdating = False
Rows("1:50").Hidden = False
For i = 50 To 1 Step -1
If Application.CountBlank(Range(Cells(i, 4), Cells(i, 26))) = 23 Then
Rows(i).Hidden = True
Next
End Sub
'-----------------
--
Salutations
JJ
Post by j-pascal
Post by Jacky
Re...
.....mais j'ai précisé "à" et non pas "et"
De la colonne D à la colonne E c'est bien D et E non ?
Ou alors, j'ai pas compris :o((
--
Salutations
JJ
Post by Jacky
Bonsoir
'------------------
Sub jj()
For i = 50 To 1 Step -1
If Cells(i, 4) & Cells(i, 5) = "" Then Rows(i).Hidden = True
Next
End Sub
'------------------
--
Salutations
JJ
Post by j-pascal
Bonjour,
(En vba)
Sur un tableau de 50 lignes, comment puis-je masquer les lignes si
les colonnes D à E ne contiennent aucune saisie (chiffre ou lettre)
?
Merci pour vos lumières,
JP
Bonjour,
Merci pour cette proposition, mais j'ai précisé "à" et non pas "et"
(ce qui semble être le cas pour ce code).
Je pensais intégrer qqch comme : If Application.CountA([D:E])
mais je ne sais pas comment le combiner avec les variables "i"
@+ ?
JP
Désolé, vraiment ...
En fait, j'ai pris un exemple ambigü ! Je voulais dire sur une plage,
soit plutôt de D à Z.
Mille pardons ;-(
JP
Merci, c'est parfait !
Pourquoi fais-tu une boucle à partir de la dernière ligne et non de la
première ?
jp
j-pascal
2008-11-03 17:13:43 UTC
Permalink
Re,

Merci pour cette précision.
J'ai noté ton second conseil ;-) C'était plus pratique pour mes
archives ... On ne m'y reprendra plus :-)

JP
Post by Jacky
Re...
Post by j-pascal
Pourquoi fais-tu une boucle à partir de la dernière ligne et non de la
première ?
C'est une habitude, obligatoire quand on veut supprimer.
Mais dans ce cas on peut inverser ;o)
--
Ps: Ce n'est pas pratique de répondre à la fin, ça use la souris ;o))))
Salutations
JJ
Post by j-pascal
Post by Jacky
Re...
Post by j-pascal
soit plutôt de D à Z.
'----------------
Sub jj()
Application.ScreenUpdating = False
Rows("1:50").Hidden = False
For i = 50 To 1 Step -1
If Application.CountBlank(Range(Cells(i, 4), Cells(i, 26))) = 23 Then
Rows(i).Hidden = True
Next
End Sub
'-----------------
--
Salutations
JJ
Post by j-pascal
Post by Jacky
Re...
.....mais j'ai précisé "à" et non pas "et"
De la colonne D à la colonne E c'est bien D et E non ?
Ou alors, j'ai pas compris :o((
--
Salutations
JJ
Post by Jacky
Bonsoir
'------------------
Sub jj()
For i = 50 To 1 Step -1
If Cells(i, 4) & Cells(i, 5) = "" Then Rows(i).Hidden = True
Next
End Sub
'------------------
--
Salutations
JJ
Post by j-pascal
Bonjour,
(En vba)
Sur un tableau de 50 lignes, comment puis-je masquer les lignes si
les colonnes D à E ne contiennent aucune saisie (chiffre ou lettre) ?
Merci pour vos lumières,
JP
Bonjour,
Merci pour cette proposition, mais j'ai précisé "à" et non pas "et" (ce
qui semble être le cas pour ce code).
Je pensais intégrer qqch comme : If Application.CountA([D:E])
mais je ne sais pas comment le combiner avec les variables "i"
@+ ?
JP
Désolé, vraiment ...
En fait, j'ai pris un exemple ambigü ! Je voulais dire sur une plage,
soit plutôt de D à Z.
Mille pardons ;-(
JP
Merci, c'est parfait !
Pourquoi fais-tu une boucle à partir de la dernière ligne et non de la
première ?
jp
Philippe.R
2008-11-02 20:18:15 UTC
Permalink
Bonsoir,
En filtrant ainsi :

Selection.AutoFilter Field:=4, Criteria1:="<>"
Selection.AutoFilter Field:=5, Criteria1:="<>"

on peut y arriver
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
Post by j-pascal
Bonjour,
(En vba)
Sur un tableau de 50 lignes, comment puis-je masquer les lignes si les
colonnes D à E ne contiennent aucune saisie (chiffre ou lettre) ?
Merci pour vos lumières,
JP
Youky
2008-11-02 20:38:08 UTC
Permalink
Une solution
Youky

If Application.CountA([D:E]) = 0 Then
Columns("D:E").Hidden = True
Else
Columns("D:E").Hidden = False
End If
Mgr.Abile
2008-11-02 21:24:41 UTC
Permalink
Bonsoir mon fils,
Je crois que ce sont les lignes que veux masquer le questionneur, pas les
colonnes, non ?
--
News://news.microsoft.com/microsoft.public.fr.excel
Allez en paix
T.Abile
Post by Youky
Une solution
Youky
If Application.CountA([D:E]) = 0 Then
Columns("D:E").Hidden = True
Else
Columns("D:E").Hidden = False
End If
Youky
2008-11-03 08:06:36 UTC
Permalink
Aie,aie aie...
Je vais de ce pas à confesse . . . .
Youky
Post by Mgr.Abile
Bonsoir mon fils,
Je crois que ce sont les lignes que veux masquer le questionneur, pas les
colonnes, non ?
--
News://news.microsoft.com/microsoft.public.fr.excel
Allez en paix
T.Abile
Post by Youky
Une solution
Youky
If Application.CountA([D:E]) = 0 Then
Columns("D:E").Hidden = True
Else
Columns("D:E").Hidden = False
End If
Continuer la lecture sur narkive:
Loading...