Masquer les lignes vides avec des cellules contenant une formule

V

VUILLAUME

Guest
Au secours !!!!!
Je m'arrache les cheveux ; quelqu'un saurait-il comment faire pour masquer des lignes avec des cellules vides d'aspect mais contenant une formule ?
Je ne trouve rien nul part.
D'avance merci
Céline
 
M

Moa

Guest
Salut Céline !

Vite fait en passant !

Le mieux est de rajouter une colonne avec un test sur tes lignes qui va t'afficher "Faux".

Puis soit tu appliques un filtre automatique, soit tu fais une macro pour masquer les lignes.

Regarde l'exemple joint, il te mettra sur la voie.

@ +

Moa
 

Pièces jointes

  • CelineV.zip
    6.3 KB · Affichages: 95
M

Moa

Guest
Re !

J'ai rajouté une autre possibilté !

Encore plus simple, puisqu'il s'agit de comparer le tableau par rapport à lui même avec toujours les fonction "NB" et "NBVal".

@ +

Moa
 

Pièces jointes

  • CelineV2.zip
    6.9 KB · Affichages: 79
M

Moa

Guest
Salut !

Voici la macro de base dont je me sers pour éffacer des lignes !

A toi de l'adapter et de demander de masquer les lignes au lieu de les supprimer.


Sub DeleteFaux()
i = 1
While Range("A15").Offset(i).Value <> ""
If Range("A15").Offset(i).Value = False Then
Range("A15").Offset(i).EntireRow.Delete
i = i - 1
End If
i = i + 1
Wend

End Sub


A plus !

Moa
 
M

michel

Guest
bonjour Celine , bonjour Moa

dans l'exemple ci dessous , les lignes sont masquées , si les cellules de la plage A1:A10 sont vides ou que le résultat de la formule =0


Sub Masquer()
Dim Cell As Range
For Each Cell In Range("A1:A10")
If Cell = "" Then Rows(Cell.Row).Hidden = True
If Cell = 0 And Cell.HasFormula Then Rows(Cell.Row).Hidden = True
Next Cell
End Sub


Sub AfficheToutesLesLignes()
ActiveSheet.Rows.Hidden = False
End Sub

bonne journée
michel
lapin4.gif
 
P

pias

Guest
Bonsoir tous les gens de ce fil et le Forum

J’aimerais savoir si c’est possible d’ajouter un if de plus au code de Michel.

Je souhaite faire que si le résultat de la formule est plus petit que 0 alors ouvrir un Userform.

J’ai déjà un peu près tout essayer avec mes connaissances mais sans résultat.

Alors si quelqu’un peu me donner un coup de main c’est très gentil.
Merci beaucoup d’avance

Sub Masquer()
Dim Cell As Range
For Each Cell In Range("A1:A10")
If Cell = "" Then Rows(Cell.Row).Hidden = True
If Cell = 0 And Cell.HasFormula Then Rows(Cell.Row).Hidden = True
If Cell = <0 ----? UserForm5.Show
Next Cell
End Sub


Amicalement

...On se lasse de tout sauf d’apprendre !..
 
M

michel

Guest
bonjour Pias

j'aurais besoin de quelques infos complementaires au sujet du UserForm5 :
il ne doit s'afficher qu'une seule fois ou à chaque fois que la valeur est inferieure à 0 dans la boucle , et dans ce cas quelle action doit etre effectuee dans l'USF ?


bonne journee à toi
michel
 
P

pias

Guest
Salut, Michel

Tous d’abord merci pour ta serviabilité.
Il s’agit d’un inventaire et j’aimerais tous simplement que a chaque fois que le solde est négatif afficher une réponse pour avertir cela.
J’ai pense que afficher le message par l’userform est le plus simple mais s’il y a une autre solution, pas de problème.

Amicalement

...On se lasse de tout sauf d’apprendre !..
 
M

michel

Guest
rebonjour Pias

ci dessous la macro modifiee pour afficher un USF quand la valeur cible est negative

Sub BoucleUSF()
Dim Cell As Range
For Each Cell In Range("A1:A10")
If Cell < 0 Then UserForm5.Show
Next Cell
End Sub


s'il s'agit juste d'afficher un message d'alerte , je te joins aussi une version avec MsgBox

Sub BoucleMsgBox()
Dim Cell As Range
For Each Cell In Range("A1:A10")
If Cell < 0 Then MsgBox "La valeur de la cellule " & Cell.Address & " est negative ."
Next Cell
End Sub


bon apres midi
michel
 
P

pias

Guest
Rebonjour Michel

C’est parfait. Tu as raison, pour afficher juste le message d’alerte, la version avec MsgBox Suffi.
Merci beaucoup, et bonne soirée.
Amicalement

...On se lasse de tout sauf d’apprendre !..
 

Discussions similaires

Statistiques des forums

Discussions
314 094
Messages
2 105 816
Membres
109 431
dernier inscrit
jalilox25