Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 création d'une page nommé en fonction d'une cellule

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 !

mboillon

XLDnaute Nouveau
Bonjour,

Tout nouveau dans le domaine, j'aurai besoin de l'aide d'une personne plus compétente que moi pour un problème auquel je suis confronté.
Voici mon besoin :
J'aimerai que lorsque je j'écris dans une cellule choisie (ex: bonjour) une nouvelle page se créer avec le nom "bonjour".
Est-ce possible de créer cette macro ?
Si oui, quelqu'un peut-il m'éclairer ?

Merci d'avance.
 
Re : création d'une page nommé en fonction d'une cellule

Bonjour à tous,

Bienvenue sur XLD

A la modification de A1

VB:
Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then Sheets.Add After:=ActiveSheet
Sheets(Sheets.Count).Name = [A1]
End Sub

A+ à tous
 
Re : création d'une page nommé en fonction d'une cellule

Merci JCGL mais lorsque j'utilise ta formule (en la modifiant biensur) sur d'autres cellules ça ne fonctionne pas..
En effet pour une cellule ta formule fonctionne mais lorsque je le fait pour une deuxième, la page créer juste avant est effacée..
Est-ce normal ?
 
Re : création d'une page nommé en fonction d'une cellule

Bonjour à tous,
Salut Gilbert,

Peux-tu essayer :

VB:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Feuil1.[A1]
Feuil1.Activate
End Sub

A+ à tous
 
Re : création d'une page nommé en fonction d'une cellule

Bonsoir à tous,

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And [A1] <> "" Then
  Sheets.Add After:=Sheets(Sheets.Count)
  Sheets(Sheets.Count).Name = [A1]
End If
End Sub
Attention il ne faut pas de caractères interdits * en A1...

* je vous laisse chercher...

A+
 
Re : création d'une page nommé en fonction d'une cellule

Re,

Plus élaboré :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Or [A1] = "" Then Exit Sub
Application.DisplayAlerts = False
On Error Resume Next
If IsError(Sheets(CStr([A1]))) Then Else _
  MsgBox "La feuille '" & [A1] & "' existe déjà...": Exit Sub
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = [A1]
If Sheets(Sheets.Count).Name <> [A1] Then _
  MsgBox "Caractère interdit...": Sheets(Sheets.Count).Delete: Me.Activate
End Sub
A+
 
Re : création d'une page nommé en fonction d'une cellule

Re,

Pour finir, si l'on veut revenir à la feuille source utiliser Application.Goto :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Or [A1] = "" Then Exit Sub
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
If IsError(Sheets(CStr([A1]))) Then Else _
  MsgBox "La feuille '" & [A1] & "' existe déjà...": Exit Sub
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = [A1]
If Sheets(Sheets.Count).Name <> [A1] Then _
  MsgBox "Caractère interdit...": Sheets(Sheets.Count).Delete
Application.Goto [A1]
End Sub
A+
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…