re,
Une sub n'est pas forcément Public.
Ben si. Tu ne m’as pas compris. SUB = PUBLIC SUB. Une SUB est en principe toujours public mais en la plaçant dans ta feuille, elle ne devient accessible que depuis ta feuille (ton objet)
Toutefois, ce que tu as fait dans le code de ta feuille n’a pas de réellement de sens
Private Sub CommandButton2_Click()
CacheLigne
End Sub
Puis, ton code
SUB CACHELIGNE()
......…
END SUB
Là soit tu mets ton code SUB CACHELIGNE dans un module et tu l'appelles comme tu l'as fait depuis le bouton 2, soit mieux tu fais ceci :
Private Sub CommandButton2_Click()
Dim DerLig As Long, Lig As Long, Col As Integer
Dim DateTest As Date
DateTest = DateSerial(Year(Date), Month(Date), Day(Date) - 30)
DerLig = [A65536].End(xlUp).Row
For Lig = 1 To DerLig
If Cells(Lig, 1) < DateTest Then
If WorksheetFunction.CountIf(Range(Cells(Lig, 2), Cells(Lig, 7)), "") = 6 Then
Rows(Lig).Hidden = True
Else
Exit Sub
End If
End If
Next Lig
End Sub
Je met toujours une sub dont l'objet n'est pas spécifier DANS l'objet. note que dans ce cas je devrais la déclarer Private
C'est justement l'erreur qui est bien souvent faite dans les codes.
En principe tu devrais toujours déclarer ton objet. C'est un peu "puriste" mais bon cela évite les erreurs quand tu commences à avoir pleins de codes dans ton fichier.
Un peu de lecture à ce sujet si tu veux mais c’est en Anglais http://msdn.microsoft.com/en-us/library/wx059ey1(v=vs.71).aspx
Voili voilou