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

masquage de ligne automatique avec condition

  • Initiateur de la discussion Initiateur de la discussion MJH
  • 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 !

MJH

XLDnaute Nouveau
Salut à tous

Voilà, j'ai un tableau excel ou je voudrais que les lignes qui ont les quantités commandées et les quantités livrées qui sont pareilles se masquent toutes seules (pas de suppression dans la mesure du possible 😉 )

voici le schéma du tableau :

Date cde | N° de cde | Produits | Date livraison prévue | qté commandé | qté livré | reliquat

Si vous avez une soluce, c'est cool

Merci
 
Re : masquage de ligne automatique avec condition

Bonjour

je te propose une petite macro

Code:
Sub toto()
Dim x As Integer
Application.ScreenUpdating = False
Rows("1:65536").EntireRow.Hidden = False
For x = 1 To Range("A65536").End(xlUp).Row
    If Cells(x, 5) = Cells(x, 6) Then Rows(x).Hidden = True
Next
Application.ScreenUpdating = True

End Sub
 
Re : masquage de ligne automatique avec condition

Bonjour MJH, Pascal, bonjour le forum,

Grillé par Pascal sur ce coup là... Un approche différente avec une macro Événementielle qui se déclenche à l'édition de la colonne F. À placer dans le composant WorkSheet concerné Feuil1(Feuil1) par exemple :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
 
dl = Range("A65536").End(xlUp).Row 'définit la variable dl (à adapter à ton cas)
 
'si le changement à lieu ailleurs que dans les cellules éditée de la collone F, sort de la procédure
If Application.Intersect(Target, Range("F2:F" & dl)) Is Nothing Then Exit Sub
If Selection.Cells.Count > 1 Then Exit Sub 'évite le bug de l'effacement de plusieurs cellules
 
'condition : si la colonne la valeur dans la colonne F est la même que celle de la colonne E
'et si elle n'est pas nulle
If Target.Value = Cells(Target.Row, 5).Value And Target.Value <> "" Then
    Rows(Target.Row).Hidden = True 'masque la ligne
End If 'fin de la condition
 
End Sub
 
Re : masquage de ligne automatique avec condition

Ca marche au poil 😀

Seulement, maintenant en fait c'est quantité livrée supérieur ou égale à quantité commandé, bon j'ai pu modifié la macro en conséquence et ca marche.

Seulement ça marche trop bien : la ligne d'en-tête du tableau est masqué aussi, y'a t'il moyen de figer cette ligne dans la macro

Merci
 
Re : masquage de ligne automatique avec condition

Re

Si tu utilises ma macro il faut modifier

For x = 1 To Range("A65536").End(xlUp).Row

par

For x = 2 To Range("A65536").End(xlUp).Row

pour commencer qu'à la ligne 2
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…