Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Masquer une ligne en fonction de deux valeurs

  • Initiateur de la discussion Initiateur de la discussion agnes95
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

agnes95

Guest
Bonjour,

Tout d'abord merci de votre aide.

Mon pb est le suivant, j'ai un fichier excel ou j'aimerais que les lignes se masque automatiquement si :

D'un part les donnés de la colonne J sont égal à zéro

et ensuite si les donnés de la colonne H sont inférieurs à la date du jour +30 jours.

Pour le moment j'ai essayer de créer deux codes distincts mais le premier veux pas fonctionner :

Sub Masque_lig() ' masque les lignes ou la valeur dans les cellules de la colonne j sont =0
Dim cellule As Range
For Each cellule In Range("j5:j3000")
If cellule.Value > 0 Then cellule.EntireRow.Hidden = True
Next cellule
End Sub

Et l'autre

Sub Masque_lig2() ' masque les lignes ou la valeur dans les cellules de la colonne h sont < a la date du jour +30
Dim cellule As Range
For Each cellule In Range("h5:h500")
If cellule.Value > Now + 30 Then cellule.EntireRow.Hidden = True
Next cellule
End Sub

Mais les deux ne veulent pas fonctionner ensemble.

Pourriez vous m'aider?

Par avance merci
 
Re : Masquer une ligne en fonction de deux valeurs

Bonjour,

modifie peut être ceci :
Code:
If cellule.Value > 0

par cela :
Code:
If cellule.Value = 0

pour une égalité à 0...

bonne journée
@+
 
Re : Masquer une ligne en fonction de deux valeurs

Merci de ta réponse mais je veux les masquer si elle sont supérieur à Zéro et non égal.

Je pensais qu'il existait une seule macro puisse puisse concaténer les deux.
 
Re : Masquer une ligne en fonction de deux valeurs

Re,

essaye ceci :

Code:
Option Explicit
Sub test()
Dim cellule As Range
'la derniere ligne est déterminée selon la dernière cellule de la colonne j
For Each cellule In Range("j5", Range("J65536").End(xlUp))
    If cellule.Value > 0 And cellule.Offset(0, -2).Value < (Date + 30) Then cellule.EntireRow.Hidden = True
Next cellule
End Sub
 
Re : Masquer une ligne en fonction de deux valeurs

Merci pour cette macro,

Mais ca ne marche toujours pas, il m'enlève bien les valeurs (en J) différente de 0. Mais celle en H, inferieur à la date du jour +30, il ne me les enlève pas 🙁

Merci de ton aide
 
Re : Masquer une ligne en fonction de deux valeurs

Voici en pièce jointe le fichier.

Je veux que tout les dates définitives différentes de zero (colonne H différente de zero soit 01/00/1900) et que les dates prévisionnelles supérieur à la date du jour +30jours (colone J supérieur à aujourd'hui +30) se masquent lorsque que l'on appuie sur un "bouton".

J'espère avoir été plus ou moins claire.

Merci beaucoup de ton aide
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…