zebanx
XLDnaute Accro
Bonjour à tous,
Ci-joint un code qui fonctionne bien sur une plage continue (Feuil1) mais qui pose problème sur une plage discontinue (feuille 2).
Le but est de cacher les lignes qui affiche 0 en colonne D et E.
Pourriez-vous m'indiquer ce qui ne va pas svp, sachant qu'avec le pas à pas détaillé c'est la ligne ".value = .value" qui semble poser problème ?
Vous en remerciant, bonne fin de journée
zebanx
Ci-joint un code qui fonctionne bien sur une plage continue (Feuil1) mais qui pose problème sur une plage discontinue (feuille 2).
Le but est de cacher les lignes qui affiche 0 en colonne D et E.
Pourriez-vous m'indiquer ce qui ne va pas svp, sachant qu'avec le pas à pas détaillé c'est la ligne ".value = .value" qui semble poser problème ?
VB:
Sub ash_cacheLV_SUMPRODUCT_F2()
Dim plage As Range
Dim t0, n%
'--définition de la plage de recherche
Set ash = Sheets(2) 'ActiveSheet
Set plage = ash.Range("G2:G19,G27:G41")
t0 = Timer
On Error Resume Next
'--boucle
With plage
.Formula = "=1/(1/SUMPRODUCT(N(D2:E2<>0)))"
.Value = .Value '-- A ce passage les #DIV/0! ne sont pas conservés : pourquoi svp ?
n = Application.Count(.SpecialCells(xlCellTypeConstants, 16))
.SpecialCells(xlCellTypeConstants, 16).EntireRow.Hidden = True
.Value = ""
End With
With sh06f.UsedRange: End With 'actualise les barres de défilement
MsgBox Format(Timer - t0, "0.00\ sec." & vbCrLf & n & " lignes cachées")
End Sub
Vous en remerciant, bonne fin de journée
zebanx