Autres Masquer les lignes sous condion des cellules

chaelie2015

XLDnaute Accro
Bonjour Forum
dans le fichier ci rattaché;j'ai une colonne "BB" de BB21 au BB154; elle affiche dans les cellules soit A ou M.
je souhaite par le bouton"Valider" masquer toutes les lignes (de 21au154) ou il y a la valeur M.
et par le bouton"Afficher tout" re afficher toutes les lignes (21-154).
Salutations
 

Pièces jointes

  • CHARLIE afficher maquer ligne sous condition.xlsx
    49.1 KB · Affichages: 12
Dernière édition:
Solution
Bonjour chaelie2015, sylvanu,

On peut utiliser le filtre automatique, soit manuellement soit avec cette macro :
VB:
Private Sub ToggleButton1_Click()
If ToggleButton1 Then
    [BB20:BB154].AutoFilter 1, "<>M" 'filtre automatique
    ToggleButton1.Caption = "Afficher les M"
Else
    If FilterMode Then ShowAllData
    ToggleButton1.Caption = "Masquer les M"
End If
End Sub
A+

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Chaelie,
En PJ un essai avec :
VB:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
For i = 21 To 154
    If Range("BB" & i) = "M" Then Range("BB" & i).EntireRow.Hidden = True
Next i
End Sub
Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
For i = 21 To 154
    Range("BB" & i).EntireRow.Hidden = False
Next i
End Sub
 

Pièces jointes

  • CHARLIE afficher maquer ligne sous condition.xlsm
    60.6 KB · Affichages: 7

job75

XLDnaute Barbatruc
Bonjour chaelie2015, sylvanu,

On peut utiliser le filtre automatique, soit manuellement soit avec cette macro :
VB:
Private Sub ToggleButton1_Click()
If ToggleButton1 Then
    [BB20:BB154].AutoFilter 1, "<>M" 'filtre automatique
    ToggleButton1.Caption = "Afficher les M"
Else
    If FilterMode Then ShowAllData
    ToggleButton1.Caption = "Masquer les M"
End If
End Sub
A+
 

Pièces jointes

  • CHARLIE afficher maquer ligne sous condition(1).xlsm
    55 KB · Affichages: 8

chaelie2015

XLDnaute Accro
Bonjour chaelie2015, sylvanu,

On peut utiliser le filtre automatique, soit manuellement soit avec cette macro :
VB:
Private Sub ToggleButton1_Click()
If ToggleButton1 Then
    [BB20:BB154].AutoFilter 1, "<>M" 'filtre automatique
    ToggleButton1.Caption = "Afficher les M"
Else
    If FilterMode Then ShowAllData
    ToggleButton1.Caption = "Masquer les M"
End If
End Sub
A+
Bonjour JOB
OUPS je n'ai pas vu ta réponse.
c'est extrat .
a+
 

chaelie2015

XLDnaute Accro
Bonjour chaelie2015, sylvanu,

On peut utiliser le filtre automatique, soit manuellement soit avec cette macro :
VB:
Private Sub ToggleButton1_Click()
If ToggleButton1 Then
    [BB20:BB154].AutoFilter 1, "<>M" 'filtre automatique
    ToggleButton1.Caption = "Afficher les M"
Else
    If FilterMode Then ShowAllData
    ToggleButton1.Caption = "Masquer les M"
End If
End Sub
A+
Bonjour Forum, Job
@ job( post#3) : j'ai trouvé un petit souci, si je protége la feuille la macro ne fonctionne pas ?
a+
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Bien évidemment, si la feuille est protégée elle n'est pas accessible !
mais le problème n'a rien à voir avec la requête initiale. C'est vrai pour toute macro.

En PJ avec a modif. Elle suppose une feuille protégée sans mot de passe.
Dans le code on peut modifier si la feuille est protégée sans mot de passe ou s'il y a un mot de passe :
VB:
'ActiveSheet.Unprotect ("ton mot de passe")
ActiveSheet.Unprotect

'Sheets(1).Protect Password:="ton mot de passe"
Sheets(1).Protect
Pour utilisation d'un mot de passe utiliser les premières lignes et mettre le mot de passe désié.
 

Pièces jointes

  • CHARLIE afficher maquer ligne sous condition.xlsm
    60.9 KB · Affichages: 5

manuZ51

XLDnaute Nouveau
Bonjour à Tous

je suis sur une meme demande avec ce code

Sub Masquer_Afficher()
Dim i As Integer

Application.ScreenUpdating = False

If Range("D1") = 1 Then
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
If Range("A" & i).Interior.Color = 65535 Then Range("A" & i).EntireRow.Hidden = True
Next i
Range("D1") = ""
Else
Cells.EntireRow.Hidden = False
Range("D1") = 1
End If

End Sub

mon souci est que je souhaiterai piloter la couleur via une MFC et lorsque je vais cette action mes lignes ne sont pas masquées. seules les lignes ou j'applique la couleur sont masquées que dois-je changer dans ce code?

Merci pour votre aide

Manu
 

job75

XLDnaute Barbatruc
Le filtre automatique permet de filtrer les couleurs, voyez le fichier joint :
VB:
[BB20:BB154].AutoFilter 1, 65535, Operator:=xlFilterCellColor 'filtre la couleut jaune
Fonctionne même si la couleur est appliquée par MFC.
 

Pièces jointes

  • Filtrer couleur(1).xlsm
    50 KB · Affichages: 5

Discussions similaires

Statistiques des forums

Discussions
312 097
Messages
2 085 257
Membres
102 840
dernier inscrit
blaise09