J'ai un tableau (voir PJ) dont certaines lignes sont entièrement vides. Ce tableau est amené à être mis à jour régulièrement, et les lignes vides ne sont pas toujours les mêmes.
J'ai donc besoin de pouvoir utiliser une macro, qui après chaque mise à jour, masque uniquement les lignes pour lesquelles toutes les cellules (colonnes C à L) sont vides !
Dans l'exemple en PJ, il faut donc masquer les lignes 3 à 45.
Quelqu'un pourrait-il me donner un code qui fasse ceci s'il vous plait ??
Voici le code que j'ai écrit, mais je ne comprend pas pourquoi cela ne fonctionne pas !! Quand je l'exécute, toute les lignes sont masquées une par une ... au lieu de s'arrêter à la ligne 44.
Code:
Sub Masquer()
Dim i As Integer
Dim j As Integer
j = 12
For i = 3 To 55
While Cells(i, j).Value = 0
j = j - 1
Wend
If j = 2 Then
Cells(i, 2).Select
Selection.EntireRow.Hidden = True
End If
Next
End Sub
Sub mask()
Dim I As Long
Dim Plage As Range
Set Plage = Range("J3:J" & Range("J3").End(xlDown).Row)
For I = Plage.Cells.Count To 1 Step -1
If Plage.Cells(I).Value = 0 Then
Plage.Cells(I).EntireRow.Hidden = True
End If
Next
End Sub
ou tout simplement comme ceci:
Code:
Sub Cache()
Range("J:J").AutoFilter Field:=1, Criteria1:="<>0"
End Sub