Salut
[U:U].SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
cette formule masque toutes les cellules vides de la colonne U.
Comment faire quant il s'agit d'une formule qui ne donne pas de
resultat car pas de donnes.
Merci
A la relecture, je viens de voir que j'avais laissé "Plage.Select" qui ne sert à rien (juste pour les tests) et pourrait même générer une erreur si tu ne travaillais pas sur la feuille active. Enlève-le STP.
Daniel
On 5 mar, 19:56, Hervé wrote:
Bonsoir Ylias,
Peut être avec ceci ?
Sub Cacher()
Dim Plage As Range Dim Cel As Range
'défini la plage à balayer Set Plage = Range([U1], [U65536].End(xlUp))
'si la cellule contient une formule 'et que le résultat de celle-ci est 'égal à zéro, masque la ligne entière For Each Cel In Plage If Cel.HasFormula And Cel.Value = 0 Then Cel.EntireRow.Hidden = True End If Next Cel
Set Cel = Nothing Set Plage = Nothing
End Sub
Hervé.
"Ylias" a écrit dans le message denews:
Salut [U:U].SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True cette formule masque toutes les cellules vides de la colonne U. Comment faire quant il s'agit d'une formule qui ne donne pas de resultat car pas de donnes. Merci
Merci à Daniel qui a donné satisfaction à ma préoccupation; je mets en ligne les modifications apportées pour que ça marche: ' faire attention à la notion de vide "-" et "0" masqué 'dans l'exemple traité, le "U" remplacé par "I"
Sub test() Range("I:I").AutoFilter Range("I:I").AutoFilter Field:=1, Criteria1:="=" Set plage = [_filterdatabase].Offset(1) Set plage = plage.Resize(plage.Count - 1).SpecialCells(xlCellTypeVisible) plage.Select Range("I:I").AutoFilter plage.EntireRow.Hidden = True End Sub
Merci également à tous ceux qui ont apporté leur contribution Cordialement
Bonjour Ylias.
A la relecture, je viens de voir que j'avais laissé "Plage.Select" qui
ne sert à rien (juste pour les tests) et pourrait même générer une
erreur si tu ne travaillais pas sur la feuille active. Enlève-le STP.
Daniel
On 5 mar, 19:56, Hervé <silve-he...@orange.fr> wrote:
Bonsoir Ylias,
Peut être avec ceci ?
Sub Cacher()
Dim Plage As Range
Dim Cel As Range
'défini la plage à balayer
Set Plage = Range([U1], [U65536].End(xlUp))
'si la cellule contient une formule
'et que le résultat de celle-ci est
'égal à zéro, masque la ligne entière
For Each Cel In Plage
If Cel.HasFormula And Cel.Value = 0 Then
Cel.EntireRow.Hidden = True
End If
Next Cel
Set Cel = Nothing
Set Plage = Nothing
End Sub
Hervé.
"Ylias" <ilis...@gmail.com> a écrit dans le message
denews:1ac1de43-490a-41fd-9530-f8cfc9aa344e@v20g2000yqv.googlegroups.com...
Salut
[U:U].SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
cette formule masque toutes les cellules vides de la colonne U.
Comment faire quant il s'agit d'une formule qui ne donne pas de
resultat car pas de donnes.
Merci
Merci à Daniel qui a donné satisfaction à ma préoccupation;
je mets en ligne les modifications apportées pour que ça marche:
' faire attention à la notion de vide "-" et "0" masqué
'dans l'exemple traité, le "U" remplacé par "I"
Sub test()
Range("I:I").AutoFilter
Range("I:I").AutoFilter Field:=1, Criteria1:="="
Set plage = [_filterdatabase].Offset(1)
Set plage = plage.Resize(plage.Count -
1).SpecialCells(xlCellTypeVisible)
plage.Select
Range("I:I").AutoFilter
plage.EntireRow.Hidden = True
End Sub
Merci également à tous ceux qui ont apporté leur contribution
Cordialement
A la relecture, je viens de voir que j'avais laissé "Plage.Select" qui ne sert à rien (juste pour les tests) et pourrait même générer une erreur si tu ne travaillais pas sur la feuille active. Enlève-le STP.
Daniel
On 5 mar, 19:56, Hervé wrote:
Bonsoir Ylias,
Peut être avec ceci ?
Sub Cacher()
Dim Plage As Range Dim Cel As Range
'défini la plage à balayer Set Plage = Range([U1], [U65536].End(xlUp))
'si la cellule contient une formule 'et que le résultat de celle-ci est 'égal à zéro, masque la ligne entière For Each Cel In Plage If Cel.HasFormula And Cel.Value = 0 Then Cel.EntireRow.Hidden = True End If Next Cel
Set Cel = Nothing Set Plage = Nothing
End Sub
Hervé.
"Ylias" a écrit dans le message denews:
Salut [U:U].SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True cette formule masque toutes les cellules vides de la colonne U. Comment faire quant il s'agit d'une formule qui ne donne pas de resultat car pas de donnes. Merci
Merci à Daniel qui a donné satisfaction à ma préoccupation; je mets en ligne les modifications apportées pour que ça marche: ' faire attention à la notion de vide "-" et "0" masqué 'dans l'exemple traité, le "U" remplacé par "I"
Sub test() Range("I:I").AutoFilter Range("I:I").AutoFilter Field:=1, Criteria1:="=" Set plage = [_filterdatabase].Offset(1) Set plage = plage.Resize(plage.Count - 1).SpecialCells(xlCellTypeVisible) plage.Select Range("I:I").AutoFilter plage.EntireRow.Hidden = True End Sub
Merci également à tous ceux qui ont apporté leur contribution Cordialement