Inclure l'année en cours dans les onglets

  • Initiateur de la discussion Initiateur de la discussion riton00
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

riton00

XLDnaute Impliqué
Bonjour à toutes et à tous

Actuellement j'ai un fichier qui comprend 12 onglets de janvier à décembre
Serait-il possible par le biais d’une formule ou macro d’afficher après le nom de chaque onglets l’année en cours
Ci- joint une partie de mon fichier pour test

Merci

Amicalement

Riton00
 

Pièces jointes

Re : Inclure l'année en cours dans les onglets

Bonsoir Riton, bonsoir le forum,

Je te propose la macro suivante :
Code:
Sub Macro1()
Dim o As Worksheet 'déclare la variable o (Onglet)
For Each o In Sheets 'boucle sur tous les onglets du classeur
    o.Name = o.Name & " " & CStr(Year(Date)) 'redéfinit la nom de l'onglet
Next o 'prochain onglet du classeur
End Sub
 
Re : Inclure l'année en cours dans les onglets

Bonsoir Robert

Desolé Robert, je suis peut-être un peu nul en ce qui concerne la VBA mais je n'arrive pas à appliquer ta macro. Ca ne fonctionne pas chez moi. 😕

Pourrais-tu me joindre mon fichier avec ta macro incluse pour que je puisse eventuellement voir mon erreur quand à l'application
merci

Amicalement

Riton00
 
Re : Inclure l'année en cours dans les onglets

Re-bonsoir Robert

Désoler d'avoir précipité les choses mais en fait avec de la persévérance j'ai réussi à faire fonctionner ta macro 😉


Merci pour tout

Cordialement

Riton00
 
Re : Inclure l'année en cours dans les onglets

Bonjour riton00, Robert, le fil, le forum


Une autre approche (mais encore problématique)

(A tester sur un un classeur vierge de préférence 😱 )
(vous comprendre vite pourquoi ... )


A mettre dans ThisWorkbook

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sh.Name = Sh.Name & " " & Year(Date)
End Sub
EDITION : en progrès mais il reste encore un problème sur le première activation d'un onglet
(si quelqu'un a une petit idée pour remédier à la chose, merci à lui)
Code:
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Static n
n = Sh.Name
Sh.Name = Left(n, Len(n) - 4)
End Sub
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Static n
n = Sh.Name
Sh.Name = n & " " & Year(Date)
End Sub
 
Dernière édition:
Re : Inclure l'année en cours dans les onglets

Bonjour Staple1600 & Robert & le forum

Effectivement Staple1600 ta macro fait des petits à chaque clic sur l'onglet 😱

Par contre Robert la tienne en avançant l'horloge d'1 année sur l'ordinateur n'efface pas l'année précédemment mise, mais rajoute en plus l’année en cours ce qui fait que tu obtiens sur chaque onglets Feuil1 2010 2011 donc c'est pas bon non plus 😡

Cordialement

Riton00
 
Re : Inclure l'année en cours dans les onglets

Bonjour riton00, Staple1600 🙂, Robert 🙂,
En piquant la proposition de Robert, une modif pour éviter d'empiler les années.
Code:
Sub Macro1()
Dim o As Worksheet 'déclare la variable o (Onglet)
For Each o In Sheets 'boucle sur tous les onglets du classeur
    If Not IsNumeric(Right(o.Name, 4)) Then 'Si le nom ne fini pas par 4 chiffres
    o.Name = o.Name & " " & CStr(Year(Date)) 'redéfinit la nom de l'onglet
    End If
Next o 'prochain onglet du classeur
End Sub
Cordialement
 
Re : Inclure l'année en cours dans les onglets

bonjour a tous

un essai:

Code:
Sub annee()
MOIS = Array("JANVIER", "FEVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOUT", "SEPTEMBRE", "OCTOBRE", "NOVEMBRE", "DECEMBRE")
For Each sh In Sheets
 For n = LBound(MOIS) To UBound(MOIS)
   If InStr(UCase(sh.Name), MOIS(n)) <> 0 Then
     sh.Name = MOIS(n) & " " & Year(Date)
   End If
 Next n
Next
End Sub
 

Pièces jointes

Re : Inclure l'année en cours dans les onglets

Bonjour à Efgé & pierrejean & au forum

En ce qui concerne Efgé, j'ai affecté ta macro au menu déroulant des années du mois de janvier elle fonctionne mais ne s'incrémente pas en avançant l'horloge d'1 année sur l'ordinateur
Par contre je me réserve celle de pierrejean puisque en affectant sa macro au menu déroulant des années du mois de janvier elle fonctionne impec et s'incrémente bien en avançant l'horloge d'1 année sur l'ordinateur
Merci à vous deux

Amicalement

Riton00
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
731
Réponses
2
Affichages
653
Réponses
0
Affichages
431
Retour