Modifier automatiquement le nom de plusieurs onglets excel [Résolu/Fermé]

Messages postés
15
Date d'inscription
vendredi 28 juin 2013
Statut
Membre
Dernière intervention
21 octobre 2013
-
Bonjour,

Pouvez-vous m'apporter une solution à mon problème car je n'ai pas trouve de réponse correspond à ma recherche.

Je souhaiterais modifier automatiquement tous les ans le nom de mes 12 onglets (ou de mes 12 feuilles) dans excel en utilisant visual basic. Je suppose qu'il faut créer un bouton dans mon onglet n°13 pour changer mes 12 autres onglets avec le nom que j'aurai choisi.

Par exemple: je souhaiterais que mon onglet n°1 reprenne en cellule A1 de l'onglet n°13 le nom 01-13 que l'onglet n°2 reprenne en cellule A2 le nom 02-13 et ainsi de suite.

Autre difficulté: la cellule A1 de l'onglet n°13 comportera une formule afin de modifier l'année automatiquement. Je m'explique dans la cellule A1 de l'onglet n°13 01-13 deviendra 01-14 lorsque l'année changera. La cellule A2 de l'onglet n°13 02-13 deviendra 02-14 lorsque l'année changera.

Pour cela j'ai décidé de mettre en place dans l'onglet n°13 une liste déroulante (en cellule C1) avec les années et ensuite de mettre en A1 la formule suivante ="01-"&C1 en cellule A2 ="02-"&C1 . Comme cela je ne serais pas obligé de modifier manuellement l'année.

Pouvez-vous m'aider car je suis débutant en VBA. J'espère que j'ai été suffisamment explicite.

Je vous en remercie d'avance.
Afficher la suite 

4 réponses

Messages postés
12253
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
19 juillet 2019
2189
0
Merci
Bonjour,

Pour cela, il faudrait en savoir plus :
- dans ton classeur tu n'as que 13 feuilles et pas une de plus?
- Comment s'appelle la feuil13?
- La feuil13 ne changera pas de nom?

Sache aussi qu'il est possible de faire cela automatiquement en fonction de l'année en cours, pas besoin de mettre des formules en feuil13...
Messages postés
15
Date d'inscription
vendredi 28 juin 2013
Statut
Membre
Dernière intervention
21 octobre 2013
0
Merci
Bonjour,

Je te remercie pour ton aide. Voici la réponse à ta demande:

Au total j'aurai 15 feuilles.

- Feuille n°1 Nommée Maj_Onglets (C'est là que va se trouver mon bouton VBA, donc le nom de cette feuille restera inchangé)
- Feuille n°2 Nommée CADRAGE TVA (Le nom de cette feuille restera inchangé)
- Feuilles n°3 à 14 nommées: 01-13; 02-13; 03-13; 04-13; 05-13; 06-13; 07-13; 08-13; 09-13; 10-13; 11-13; 12-13. (ce sont ces feuilles qui devront changer de noms automatiquement)
- Feuilles n°15 Nommée Noms_SocT&Bques (Le nom de cette feuille restera inchangé)

Effectivement, si l'année peut être changée automatiquement en fonction de l'année en cours je suis preneur. Par contre, je souhaiterais avoir si c'est possible uniquement les deux derniers chiffres de l'année en cours. Exemple: 01-13 deviendra 01-14.

Ne faut-il pas que mes feuilles soient plutôt datées de 2012 au lieu de 2013 pour pouvoir faire un test après ta réponse ?

Cordialement,
Tyrese3
pijaku
Messages postés
12253
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
19 juillet 2019
2189 -
T'inquiètes pour le test.

Par contre, automatiquement, voudra néanmoins dire avec clic de ta part sur un bouton.
C'est possible que cela soit tout auto, sans clic, mais je préfères que d'abord l'utilisateur vérifie s'il a tout fait avant de procéder à un changement (sauvegardes par exemple)...
Messages postés
12253
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
19 juillet 2019
2189
0
Merci
Le code :
Option Explicit

Sub Renommer_Feuilles()
Dim Feuille As Worksheet

For Each Feuille In ThisWorkbook.Worksheets
    If IsNumeric(Left(Feuille.Name, 2)) Then Feuille.Name = Left(Feuille.Name, 2) & "-" & Right(Date, 2)
Next Feuille
End Sub

Le classeur exemple :
Format Excel 2007 et+
Format 97-2003
pijaku
Messages postés
12253
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
19 juillet 2019
2189 -
Ne jamais placer de données confidentielles sur un forum.
Si tu souhaites que je t'explique comment mettre en place cette macro et son bouton, demande le...
Messages postés
15
Date d'inscription
vendredi 28 juin 2013
Statut
Membre
Dernière intervention
21 octobre 2013
0
Merci
Je te remercie pour cette information et ta réactivité. Néanmoins, jamais enlevé tous éléments sensibles.

Merci pour ton professionnalisme.

Je veux bien que tu m'expliques comment mettre en place cette macro et son bouton.
pijaku
Messages postés
12253
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
19 juillet 2019
2189 -
1- ouvre ton classeur
2- dessines un bouton dans la feuille concernée !!! utilise un contrôle activeX pas un bouton de formulaire (ruban développeur / insérer /contrôles activex/bouton de commande)
3- double clic sur le bouton => une fenêtre vbe s'ouvre avec ces lignes:
Private Sub CommandButton1_Click()

End Sub

4- entre ces deux lignes saisir : Renommer_Feuilles
tu obtiens donc :
Private Sub CommandButton1_Click()
Renommer_Feuilles
End Sub

5- toujours sous vbe : Insertion/Module
6- dans le module ainsi créé, copie-colle le code :
Option Explicit

Sub Renommer_Feuilles()
Dim Feuille As Worksheet

For Each Feuille In ThisWorkbook.Worksheets
    If IsNumeric(Left(Feuille.Name, 2)) Then Feuille.Name = Left(Feuille.Name, 2) & "-" & Right(Date, 2)
Next Feuille
End Sub

7- ferme la fenêtre vbe
8- enregistre sous un autre nom ton classeur en choisissant le type Classeur excel (prenant en charge les macros)
9- sortir du mode création (ruban développeur/Mode création)
10- teste en cliquant sur le bouton
Tyrese3
Messages postés
15
Date d'inscription
vendredi 28 juin 2013
Statut
Membre
Dernière intervention
21 octobre 2013
-
Merci pour ton aide.

C'est nickel. C'est comme je voulais.