XL 2016 onglets changent d'année

eastwick

XLDnaute Impliqué
Bonjour à toutes et tous,
Je ne mets pas de fichier volontairement car mon souci est très simple.
J'ai un fichier dont tous les onglets portent, outre leur nomenclature spécifique, l'année.
J'aimerais donc créer un onglet où je choisirais l'année qui m'intéresse pour aller modifier l'année dans chaque onglet.
ex des onglets suivants : bordereau 2021, M2021, R2021, total 2021 deviendrait bordereau 2022, M2022, R2022, total 2022.
Juste changer l'année. J'ai déjà posté mais la solution, bien que ultra-fonctionnelle, n'est valable que si chaque année ressemble parfaitement à la précédente en nombre d'onglets et qui plus est de même type. En gros des suppressions ou ajouts d'onglets crée des soucis.
Je vous remercie beaucoup.
 

Efgé

XLDnaute Barbatruc
Bonjour

une proposition
VB:
Sub renomme()
Dim Sh As Worksheet
Dim Ancien&, Nouveau&
Dim TmpName$
Ancien = InputBox("Entrer l'année précédente", "Saisie 1")
Nouveau = InputBox("Entrer la nouvelle année", "Saisie 2")
For Each Sh In ThisWorkbook.Worksheets
    If InStr(1, Sh.Name, Ancien) > 0 Then
        TmpName = Replace(Sh.Name, Ancien, Nouveau)
        Sh.Name = TmpName
    End If
Next Sh
End Sub
Cordialement
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Eastwick,
Un essai en PJ.
Je demande quoi remplacer par quoi, avant d'exécuter :
VB:
Private Sub CommandButton1_Click()
    If UF.Ancien <> "" And UF.Nouveau <> "" Then
        For Each F In Worksheets
            F.Name = Replace(F.Name, UF.Ancien, UF.Nouveau)
        Next F
    End If
    Unload UF
End Sub
 

Pièces jointes

  • NomOnglets.xlsm
    18.3 KB · Affichages: 4

job75

XLDnaute Barbatruc
Bonjour eastwick, Efgé, sylvanu,
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If [C2] = "" Or [C3] = "" Then Exit Sub
Dim s As Object
On Error Resume Next 'sécurité
For Each s In Sheets
   s.Name = Replace(s.Name, Range("C2"), Range("C3"))
Next
End Sub
A+
 

Pièces jointes

  • Classeur(1).xlsm
    19.8 KB · Affichages: 4
Dernière édition:

Statistiques des forums

Discussions
312 098
Messages
2 085 265
Membres
102 844
dernier inscrit
atori2