Masquer cellule vide contenant une formule

Le
Ylias
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
Questions / Réponses high-tech
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
Daniel.C
Le #21317081
Bonsoir.
Essaie :

Range("U:U").AutoFilter
Range("U:U").AutoFilter Field:=1, Criteria1:="="
Set plage = [_filterdatabase].Offset(1)
Set plage = plage.Resize(plage.Count -
1).SpecialCells(xlCellTypeVisible)
plage.EntireRow.Delete
Range("U:U").AutoFilter

Inconvénient, la cellule U1 n'est pas traitée. Le cas échéant, insérer
une cellule en début de procédure et la supprimer à la fin.

Daniel

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
Daniel.C
Le #21317471
Ou plutôt, pour masquer :

Range("U:U").AutoFilter
Range("U:U").AutoFilter Field:=1, Criteria1:="="
Set plage = [_filterdatabase].Offset(1)
Set plage = plage.Resize(plage.Count -
1).SpecialCells(xlCellTypeVisible)
plage.EntireRow.Hidden = True

Daniel

Bonsoir.
Essaie :

Range("U:U").AutoFilter
Range("U:U").AutoFilter Field:=1, Criteria1:="="
Set plage = [_filterdatabase].Offset(1)
Set plage = plage.Resize(plage.Count - 1).SpecialCells(xlCellTypeVisible)
plage.EntireRow.Delete
Range("U:U").AutoFilter

Inconvénient, la cellule U1 n'est pas traitée. Le cas échéant, insérer une
cellule en début de procédure et la supprimer à la fin.

Daniel

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
Ylias
Le #21319091
Merci Daniel,
j'essai et t'informe
Cordialement
Ylias
Le #21319481
On 5 mar, 09:05, Ylias
Merci Daniel,
j'essai et t'informe
Cordialement



Salut Daniel

A l'exuction du code:
Range("U:U").AutoFilter
Range("U:U").AutoFilter Field:=1, Criteria1:="="
Set plage = [_filterdatabase].Offset(1)
Set plage = plage.Resize(plage.Count -
1).SpecialCells(xlCellTypeVisible)
plage.EntireRow.Hidden = True

Toutes les lignes ont été masquées!
Daniel.C
Le #21320141
Bonjour.
Poste un classeur exemple sur www.cjoint.com, ça fonctionne dans mon
test.
Daniel

On 5 mar, 09:05, Ylias
Merci Daniel,
j'essai et t'informe
Cordialement



Salut Daniel

A l'exuction du code:
Range("U:U").AutoFilter
Range("U:U").AutoFilter Field:=1, Criteria1:="="
Set plage = [_filterdatabase].Offset(1)
Set plage = plage.Resize(plage.Count -
1).SpecialCells(xlCellTypeVisible)
plage.EntireRow.Hidden = True

Toutes les lignes ont été masquées!
Daniel.C
Le #21320251
Je n'ai peut-être pas compris ta question. Veux-tu masquer uniquement
les cellules contenant une formule renvoyant "" et afficher les
cellules vraiment vides ?
Daniel

Bonjour.
Poste un classeur exemple sur www.cjoint.com, ça fonctionne dans mon test.
Daniel

On 5 mar, 09:05, Ylias
Merci Daniel,
j'essai et t'informe
Cordialement



Salut Daniel

A l'exuction du code:
Range("U:U").AutoFilter
Range("U:U").AutoFilter Field:=1, Criteria1:="="
Set plage = [_filterdatabase].Offset(1)
Set plage = plage.Resize(plage.Count -
1).SpecialCells(xlCellTypeVisible)
plage.EntireRow.Hidden = True

Toutes les lignes ont été masquées!
Ylias
Le #21322701
On 5 mar, 11:35, Daniel.C
Je n'ai peut-être pas compris ta question. Veux-tu masquer uniquement
les cellules contenant une formule renvoyant "" et afficher les
cellules vraiment vides ?
Daniel



> Bonjour.
> Poste un classeur exemple surwww.cjoint.com, ça fonctionne dans mon t est.
> Daniel

>> On 5 mar, 09:05, Ylias >>> Merci Daniel,
>>> j'essai et t'informe
>>> Cordialement

>> Salut Daniel

>> A l'exuction du code:
>> Range("U:U").AutoFilter
>> Range("U:U").AutoFilter Field:=1, Criteria1:="="
>> Set plage = [_filterdatabase].Offset(1)
>> Set plage = plage.Resize(plage.Count -
>> 1).SpecialCells(xlCellTypeVisible)
>> plage.EntireRow.Hidden = True

>> Toutes les lignes ont été masquées!


Salut daniel,
Je t'ai fais parvenir une copie de mon fichier;
Je voudrais masquer toutes les ligne ( dans l'exemple envoyé) qui ne
possèdent pas de valeur dans la colonne I.
Merci pour l'encadrement
Daniel.C
Le #21323251
Pas vu de fichier ni en post ni dans ma messagerie ?
Poste-le sur www.cijoint.fr en effaçant tout ce qui est sensible. S'il
dépasse les 8 Mo, mon adresse est , en enlevant
les "ZZZ".
Daniel

On 5 mar, 11:35, Daniel.C
Je n'ai peut-être pas compris ta question. Veux-tu masquer uniquement
les cellules contenant une formule renvoyant "" et afficher les
cellules vraiment vides ?
Daniel



Bonjour.
Poste un classeur exemple surwww.cjoint.com, ça fonctionne dans mon test.
Daniel



On 5 mar, 09:05, Ylias
Merci Daniel,
j'essai et t'informe
Cordialement







Salut Daniel





A l'exuction du code:
Range("U:U").AutoFilter
Range("U:U").AutoFilter Field:=1, Criteria1:="="
Set plage = [_filterdatabase].Offset(1)
Set plage = plage.Resize(plage.Count -
1).SpecialCells(xlCellTypeVisible)
plage.EntireRow.Hidden = True





Toutes les lignes ont été masquées!






Salut daniel,
Je t'ai fais parvenir une copie de mon fichier;
Je voudrais masquer toutes les ligne ( dans l'exemple envoyé) qui ne
possèdent pas de valeur dans la colonne I.
Merci pour l'encadrement
Hervé
Le #21324601
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" news:
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
Ylias
Le #21333461
On 5 mar, 19:56, Hervé
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"


> 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
Publicité
Poster une réponse
Anonyme