Re Bonsoir,
Je regardais la télé, mais je vois que Philling n'y connait rien en VBA, et par conséquent je comprends mieux qu'il se soit si mal expliqué au point que nous quatre : Michel, JP, Zon et moi-même ayant tous compris autre chose, mais ce qui est amusant c'est que nous avons tous compris la même chose, à savoir renommer les onglets !!!
Maintenant que Philling s'est enfin expliqué, je pense que c'est beaucoup plus simple à gérer, et surtout JP, qu'il n'a plus besoin de renommer ses onglets, ce qui pourrait être assez enuyeaux, voir fatal !, à son classeur...
Donc je pense qu'on doit pûrement et simplement mettre au trash ce qui a été fait dans ce fil..... lol, Il n'y a vraiment pas besoin d'usine à gaz pour faire ceci !
Donc deux solutions pour faire ce que j'ai enfin compris de ce que veut Philling, très très simple en fait !!!
Première Solution, écrire dans les Heading de Feuilles (ma préférée)
A METTRE DANS UN MODULE STANDARD :
============================
Option Explicit
Dim Y As Byte
Sub TraceSheet()
If Left(ActiveSheet.PageSetup.CenterHeader, 4) = "PAGE" Then Exit Sub
Y = Y + 1
ActiveSheet.PageSetup.CenterHeader = "PAGE " & Y
End Sub
Sub ClearTraceSheet()
Dim X As Byte
For X = 1 To Sheets.Count
Sheets(X).PageSetup.CenterHeader = ""
Next X
Y = 0
End Sub
A METTRE DANS LE PRIVATE MODULE "ThisWorkBook"
=====================================
Private Sub Workbook_Open() 'ou bien lancer cette macro manuellement si nécessaire....
ClearTraceSheet
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
TraceSheet
End Sub
Seconde Solution, écrire dans une cellule
Oblige paramétrage de EnableEvents à false
A METTRE DANS UN MODULE STANDARD :
============================
Option Explicit
Dim Y As Byte
Sub TraceSheet()
If Left(ActiveSheet.Range("A1"), 4) = "PAGE" Then Exit Sub
Application.EnableEvents = False
Y = Y + 1
ActiveSheet.Range("A1") = "PAGE " & Y
Application.EnableEvents = True
End Sub
Sub ClearTraceSheet()
Dim X As Byte
Application.EnableEvents = False
For X = 1 To Sheets.Count
Sheets(X).Range("A1") = ""
Next X
Application.EnableEvents = True
Y = 0
End Sub
ET METTRE LES MEME INSTRUCTIONS DANS ThisWorkbook que Solution 1
Voilà, cette fois-ci, (I strongly hope... lol), on devrait être OK avec Philling...
Bonne Nuit c'est déjà Lundi
@+Thierry