Message d'erreur à l'exécution d'une macro

abalny

XLDnaute Nouveau
Bonjour à tous,

Je veux insérer le numéro des pages dans une cellule de chaque page (une page par onglet) de manière automatique, et mis à jour quelque soit l'emplacement de l'onglet ou l'ajout d'onglet... Je veux que cette mise à jour se fasse à chaque selection d'un onglet.
J'ai créé la macro suivante, que j'ai placé dans "This Workbook". Or à chaque fois, j'obtiens un message d'erreur : "erreur de compilation : la déclaration de la procédure ne correspond pas à la description de l'évènement....".

Quelqu'un peut-il m'expliquer pourquoi, et ce que je dois faire pour corriger . Je joins un exemple du fichier.
merci d'avance

Private Sub Workbook_SheetActivate(Cancel As Boolean)
For i = 1 To ThisWorkbook.Worksheets.Count
Worksheets(i).Activate
Cells(1, 1).Select
ActiveCell.Value = "Fiche n°" & i
Next i

End Sub
 

Pièces jointes

  • Classeur1.xls
    43.5 KB · Affichages: 30
  • Classeur1.xls
    43.5 KB · Affichages: 46
  • Classeur1.xls
    43.5 KB · Affichages: 47

Softmama

XLDnaute Accro
Re : Message d'erreur à l'exécution d'une macro

Bonjour, essaie plutôt ainsi :

VB:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
For i = 1 To ThisWorkbook.Worksheets.Count
Worksheets(i).Cells(1, 1).Value = "Fiche n°" & i
Next i
End Sub

l'argument de l'évènement SheetActivate n'est pas Cancel as boolean.
Dans la plupart des cas, cette macro devrait faire l'affaire, ceci dit:
VB:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sh.Cells(1, 1).Value = "Fiche n°" & Sh.Index
End Sub
 
Dernière édition:

Discussions similaires

Réponses
20
Affichages
883

Statistiques des forums

Discussions
312 691
Messages
2 091 015
Membres
104 725
dernier inscrit
Marvin Foucart