Macro afficher et cacher VBA
olivierporcinet
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
fabien25000 Messages postés 673 Date d'inscription Statut Membre Dernière intervention -
fabien25000 Messages postés 673 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai crée une macro pour afficher uniquement les lignes dont une ou plusieurs cellules sont colorées et une autre macro pour tout ré afficher.
Il y a des MFC.
Mes colonnes vont de A à R et ma première MFC commence à la colonne E
MFC en colonnes E, H, K, N et R (avec calcul de dates dans ces colonnes)
j'ai créé 2 boutons (Afficher et masquer)
Problème..... lorsque je clic sur les boutons pour masquer, ça ne fonctionne pas.
Quelqu'un peut m'aider ?
Merci.
Bonne journée
Sub Masquer()
Dim MasquerLigneVide, rgPlage As Range, rgDer As Range, tablo
Dim i&, j&, Coul&, pasCoul&, MFC1, Texte$
pasCoul = 18 * RGB(255, 255, 255)
MasquerLigneVide = MsgBox("Voulez vous aussi masquer les lignes vides ?", vbQuestion + vbYesNo + vbDefaultButton1) = vbYes
Application.ScreenUpdating = False
With Worksheets("CDI")
.Activate: afficher
Set rgDer = .Columns("a:r").Find(What:="*", After:=.Range("a1"), LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)
.Range(.Cells(rgDer.Row, 1), .Cells(.Rows.Count, 18)).Borders.LineStyle = xlLineStyleNone
.Range(.Cells(1, 1), .Cells(.Rows.Count, 18)).Borders.LineStyle = xlLineStyleNone
.Range("a1:r" & rgDer.Row).Borders.LineStyle = xlContinuous
tablo = .Range("a1:r" & rgDer.Row)
For i = rgDer.Row To 1 Step -1
If MasquerLigneVide Then
Texte = ""
For j = 1 To 18: Texte = Texte & IIf(IsError(tablo(i, j)), "z", tablo(i, j)): Next j
If Texte = "" Then .Cells(i, j).EntireRow.Hidden = True
End If
If Not (MasquerLigneVide And Texte = "") Then
Coul = 0
For j = 1 To 18: Coul = Coul + .Cells(i, j).Interior.Color: Next j
MFC1 = tablo(i, 5) <> "" And tablo(i, 18) = "" And tablo(i, 5) < Date
If Coul <> pasCoul Or MFC1 Then .Cells(i, j).EntireRow.Hidden = False Else .Cells(i, j).EntireRow.Hidden = True
End If
Next i
End With
End Sub
J'ai crée une macro pour afficher uniquement les lignes dont une ou plusieurs cellules sont colorées et une autre macro pour tout ré afficher.
Il y a des MFC.
Mes colonnes vont de A à R et ma première MFC commence à la colonne E
MFC en colonnes E, H, K, N et R (avec calcul de dates dans ces colonnes)
j'ai créé 2 boutons (Afficher et masquer)
Problème..... lorsque je clic sur les boutons pour masquer, ça ne fonctionne pas.
Quelqu'un peut m'aider ?
Merci.
Bonne journée
Sub Masquer()
Dim MasquerLigneVide, rgPlage As Range, rgDer As Range, tablo
Dim i&, j&, Coul&, pasCoul&, MFC1, Texte$
pasCoul = 18 * RGB(255, 255, 255)
MasquerLigneVide = MsgBox("Voulez vous aussi masquer les lignes vides ?", vbQuestion + vbYesNo + vbDefaultButton1) = vbYes
Application.ScreenUpdating = False
With Worksheets("CDI")
.Activate: afficher
Set rgDer = .Columns("a:r").Find(What:="*", After:=.Range("a1"), LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)
.Range(.Cells(rgDer.Row, 1), .Cells(.Rows.Count, 18)).Borders.LineStyle = xlLineStyleNone
.Range(.Cells(1, 1), .Cells(.Rows.Count, 18)).Borders.LineStyle = xlLineStyleNone
.Range("a1:r" & rgDer.Row).Borders.LineStyle = xlContinuous
tablo = .Range("a1:r" & rgDer.Row)
For i = rgDer.Row To 1 Step -1
If MasquerLigneVide Then
Texte = ""
For j = 1 To 18: Texte = Texte & IIf(IsError(tablo(i, j)), "z", tablo(i, j)): Next j
If Texte = "" Then .Cells(i, j).EntireRow.Hidden = True
End If
If Not (MasquerLigneVide And Texte = "") Then
Coul = 0
For j = 1 To 18: Coul = Coul + .Cells(i, j).Interior.Color: Next j
MFC1 = tablo(i, 5) <> "" And tablo(i, 18) = "" And tablo(i, 5) < Date
If Coul <> pasCoul Or MFC1 Then .Cells(i, j).EntireRow.Hidden = False Else .Cells(i, j).EntireRow.Hidden = True
End If
Next i
End With
End Sub
A voir également:
- Macro afficher et cacher VBA
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Afficher appdata - Guide
- Cacher son numéro - Guide
- Cacher conversation whatsapp - Guide
- Cacher ses amis sur facebook - Guide