XL 2016 Une cellule qui change le nom de l'onglet de la page active en VBA

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 !

ChantalTreize

XLDnaute Occasionnel
Bonsoir tout le monde,
Je cherche à savoir quel pourrait être le code VBA si dans la cellule C3 je met Lundi par exemple
le nom de l'onglet de la page active se change automatiquement en Lundi
Suis je assez claire
Merci d'avance
Chantal
 
Bonsoir.
Il vaudrait quand même mieux, à mon avis que ça ne s'exécute que si c'est la cellule C3 qui change, et non pas chaque fois que n'importe laquelle change !
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address <> "$A$3" Then Exit Sub
   On Error Resume Next
   Me.Name = Target.Value
   End Sub
 
Bonsoir le forum
Bonsoir ChantalTreize, Claudy, Dranreb

Il est bien évident que tout à chacun aura rectifié l'adresse de la cellule du code de notre ami Dranreb que je salue au passage 😉. Je viens de voir que le nom de la feuille active pouvait être remplacée par "Me" ? tout comme un UserForm ? On en apprend tous les jours sur ce sympathique forum.
Bonne soirée à toutes & à tous
@+ Eric c
 
Désolé pour l'erreur, If Target.Address <> "$C$3" Then Exit Sub
Non, la feuile n'est pas nécessairement active. Me représente toujours l'objet auquel le code est spécifiquement attaché. S'il s'agit d'un module de classe, il en représente plus exactement l'exemplaire dont on a invoqué une méthode ou une propriété, ou dans lequel un évènement, souvent lié à ce qu'il représente mais pas toujours, s'est produit. Dans le module ThisWorkbook, Me représente aussi ThisWorkbook par exemple.

.
 
Dernière édition:
Bonsoir le fil

Alors je suppute et j'anticipe (peut-être à tort 😉)
Sil s'agit de saisir en C3 la date du jour et donc de donner à l'onglet le nom du jour en cours, alors on peut tester la chose suivante (à mettre dans ThisWorkBook)
VB:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim x$
x = Format(Date, "dddd")
If Sh.CodeName = "Feuil1" Then
Sh.Name = StrConv(x, vbProperCase)
End If
End Sub
Ici la feuille concernée est la feuille nommée Feuil1

PS: On pourrait aussi mettre la chose dans WorkBook_Open() en lieu et place du Workbook_SheetActivate
 
- 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
3
Affichages
618
Retour