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
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
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
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
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
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
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é.
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?