Bonjour à tous,
J'ai une liste de 363 adhérents qui doivent s'acquitter d'une cotisation annuelle. Mais il y a toujours des retardataires qu'il faut relancer. J'ai donc construit une macro pour identifier ces mauvais payeurs dans un tableau qui comporte 450 lignes dont 363 remplies. En fin de tableau (ligne 452), une cellule totalise le nbre de lignes triées. Dans mon cas, le résultat est 15 (formule : =SOUS.TOTAL(3;F4:F450)).
Sub IMPAYES()
'
' impayés Macro
'
'
ActiveSheet.Unprotect
With ActiveSheet.PageSetup
.LeftHeader = "&K002060" & "Ass JARDINS FAMILIAUX LAVAL"
.CenterHeader = "&B&12&KC00000&""Arial""IMPAYES (tous sites confondus)"
.LeftFooter = "&B&K002060" & " Emetteur : Trésorier(e)"
.RightFooter = "&B" & "page &P / &N" & " "
.CenterFooter = "&B&KC00000" & "Nombre impayés :" & Range("F452").Value
.RightHeader = "&B&K002060" & Format(Date, "dddd dd mmmm yyyy") & " "
.TopMargin = Application.InchesToPoints(1) ' Marge haut
.LeftMargin = Application.InchesToPoints(0.3)
.RightMargin = Application.InchesToPoints(0.3)
.Orientation = xlLandscape
.Draft = False
.Zoom = 100
End With
ActiveSheet.Range("$A$1:$CT$450").AutoFilter Field:=5, Criteria1:="<>"
ActiveSheet.Range("$A$1:$CT$450").AutoFilter Field:=15, Criteria1:="="
ActiveWindow.SmallScroll Down:=-129
ActiveSheet.Rows("2:3").Hidden = False
ActiveWindow.SelectedSheets.PrintPreview
'ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
La première partie concerne la mise en page et la deuxième le tri proprement dit. Quand je lance ma macro, le tri de fait et le résultat s'affiche grâce à "ActiveWindow.SelectedSheets.PrintPreview". Présentation nickel mais le résultat du tri en pied de page affiche le nombre total d'adhérents alors que dans la ligne 452, la valeur du nombre d'impayés est bonne. J'ai cherché pendant des heures mais en vain.
Une fois de plus, j'appelle au secours...
Bien à vous tous,