Microsoft 365 macro renommer onglets

  • Initiateur de la discussion Initiateur de la discussion Freedal
  • 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 !

Freedal

XLDnaute Junior
Bonjour,
Sur un classeur de 5 feuilles, j'ai saisi un code sur chaque feuille pour les renommer suivant le contenu d'une cellule dans chaque feuille.
Le contenu de la cellule de référence pour la première feuille est saisi directement mais pour les 4 autres feuilles les cellules de référence contiennent des formules.
Les macros que j'ai insérées dans chaque feuilles fonctionnaient mais après avoir saisi des valeurs dans les feuilles, Excel n'arrête pas de planter.
N'étant pas spécialiste en macro, je soupçonne que les macros calculent en permanence.
Merci de votre aide.
Bonne journée. 😎
 

Pièces jointes

Bonjour,

C'est normal, avant d'appeler un changement de valeur de cellule dans un évènement calculate ou change de feuille ou classeur, utiliser: application.Calculation =xlCalculationManual avant de faire la modification puis rétablir le mode de calcul ensuite.

Mais dans le classeur joint ci-dessous, j'ai une autre proposition à vous faire.
Dans la première feuille vous changer la date en A2 et sur l'évènement Change de la feuille, les feuilles suivantes sont renommée.
J'ai renommer la cellue A2 En 'Date_1'.
Cette date est reprise par formule dans les autres feuilles.

Pour le Calendrier comme l'exemple affichez 2018 et que en feuille 1 on avait 1/1/2026 je ne m'en suis pas occupé. Mais m'est avis que vous devriez appliquer le même principe: Saisir l'année en C2 de calendrier, la nommer AnneeCal (Pas Annee seulement car c'est un nom de fonction excel) l'afficher au format "'Année '0000". Ensuite vous pourriez y faire référence dans toutes vos formule plutôt que des Gauche(......;...) qui alourdissent inutilement.


Dernier point, si vous voulez mettre En A2 de la première feuille une liste de validation avec les années possible, alors nous changerons l'évè
nement change pour calculate, mais dans les règles de l'art, ainsi que les formule et le nom de la cellule.

Cordialement
 

Pièces jointes

Bonjour Roblochon,🙂
Merci pour ta réponse mais je ne parviens pas à ce que ça fonctionne , n'étais-ce pas possible de garder le menu déroulant en C2 qui renvoie la date en A2 sans avoir besoin de saisir manuellement A2 .
Cordialement
 
Re,

Pourtant je viens de re-essayer et si je tape 1/1/2019 en A2, les feuilles sont bien renommées et les formules mises à jour.
Pour votre demande, à moins que quelqu'un d'autre passe par-là, ce ne sera pas tout de suite... obligations extérieures, ce soir peut-être, demain certainement.

bon après-midi
 
Rebonjour Roblochon,
J'ai fermé le classeur et réouvert et ça fonctionne.
Mais je tiens à mon menu déroulant en C2, je l'ai donc remis et j'ai modifié ton code, j'ai changé A2 en C2,mais c'est pas si simple.
Et pour la feuille Calendrier, ça ne marche pas.
Je te remercie de t'être penché sur mon cas, je vais étudié tes macros. J'espére te revoir. je ne sais pas codé.
Merci encore et A+
Cordialement
 
Bonjour, 🙂
J'ai trouvé une solution sur le première feuille pour continuer à utiliser le menu déroulant pour changer la date.
Pour la derniére feuille "calendrier" je préfère pouvoir changer l'année par le menu déroulant et j'ai réctiver la macro d'origine sur cette feuille mais par moment ça rame.
Qu'avaient donc mes macros d'origine qui fonctionnaient bien au début et qui une fois des données saisies dans les feuilles faisaient planté Excel ?
 
Bonjour,
Qu'avaient donc mes macros d'origine qui fonctionnaient bien au début et qui une fois des données saisies dans les feuilles faisaient planté Excel ?

J'y ai répondu dès le début du post #2. Il faut lire les réponses et REFLECHIR à leur sens et ce qu'elles impliquent avant de se précipiter pour ouvrir les fichier et lancer les macros.

Je vais voir ce que je peux faire.

bonne journée
 
Re bonjour,

Voici le fichier modifié. Voir sur la feuille 1 le commentaire près de la cellule A2 puis ensuite le code de la feuille 1 (WorkSheet_Calculate).

Principe général:

Lorsque vous utilisez les évènements calculate d'une feuille ou du classeur faire attention de ne pas ré-entraîner un nouveau calcul, qui tournerait en boucle. Dans le code de la feuille 1 sur l'évènement Calculate, nous changeons les noms de feuilles. Si ces noms de feuilles sont utilisés par des formules dans la feuille alors l'évènement Calculate est rappelé.
Voir la méthode employée pour stopper le mode de calcul et le rétablir une fois les opérations effectuées.

Pour les événements Change c'est le même principe, si vous entraîner un nouveau changement alors le gestionnaire d'évènement risque d'être appelé en boucle.

La méthode pour empêcher ça consiste à employer Application.EnableEvents = False puis faire les changements dans les cellule et ensuite rappeler la gestion des événements par Application.EnableEvents = True.

Cette dernière méthode est radicale. Elle arrêtera TOUS les évènements => d'où la nécessité de bien organiser ses actions dans les macros.


Dans le code de la feuille Calendrier voici le code modifié.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("C2")) Is Nothing Then
        '
        ' Arrêter la gestion des événements
        ' pour que Worksheet_Change ne soit pas rappelé.
        '
        Application.EnableEvents = False
        ActiveSheet.Name = Range("A3")
        '
        ' Rétablir la gestion des événements
        Application.EnableEvents = True
    End If
End Sub
 

Pièces jointes

Merci Roblochon , c'est excellent ce que tu as fais pour moi, je vais bosser sur tes macros,bien les comprendre pour pouvoir les utiliser dans d'autres
cas de figure . Super que des personnes comme toi donnent leur temps et leurs compétences pour d'autres.
Merci encore et bonne journée. 🙂
 
- 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
8
Affichages
302
Réponses
4
Affichages
178
Réponses
6
Affichages
430
Réponses
5
Affichages
541
Retour