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

Nomer un onglet par une cellule

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

D

Dietvert

Guest
Bonjour,

J'ai crée une macro qui permet de générer un model de feuille automatiquement.

J'aimerai pouvoir entrer le nom le l'onglet dans une cellule puis lancer ma macro qui prendrait en compte le nom que j'ai inséré dans cette cellule.

Je pense que ça doit être possible, mais étant très faible en VBA je sollicite votre aide.

Merci.
 
Re : Nomer un onglet par une cellule

bonjour Dietvert BOISGONTIER le forum une autre methode

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
If Selection = "" Then Exit Sub
Dim Ws As Worksheet
For Each Ws In Worksheets
If Ws.Name = Target Then MsgBox "Ce nom de feuille existe déjà !": Exit Sub
Next Ws
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = Target
End If
Sheets("base").Activate
End Sub
 
Re : Nomer un onglet par une cellule



Je vous remercie, j'ai essayer rapidement le code mais ça ne donne rien, je vais regarder ce week end. En tous cas merci bcp.
 
Re : Nomer un onglet par une cellule

Bonsoir Dietvert, le fil

vérifies que tu n'as bien qu'une seule procédure
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
dans le module de la feuille en question.

bonne soirée
@+
 
Re : Nomer un onglet par une cellule

Bonjour à tous,

Tu as deux
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
sur la feuille1 (accessible par Alt F11)

Supprime en un des deux

A+
 
Re : Nomer un onglet par une cellule

Bonsoir Diervert, excalibur (JP), Jacques,

Modifies ici ce qui est en rouge :

'idem ci dessus mais uniquement quand changement dans cellule a1 pour l exemple
Private Sub Worksheets_SelectionChange(ByVal Target As Range)
Dim Ws As Worksheet
If Target.Address = "$A$1" Then
If Selection = "" Then Exit Sub
For Each Ws In Worksheets
If Ws.Name = Target Then MsgBox "Ce nom de feuille existe déjà !": Exit Sub
Next Ws
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = Target
End If
Sheets("feuil1").Activate
End Sub

Normalement cela doit fonctionner.

Bonne soirée.

Jean-Pierre
 
Re : Nomer un onglet par une cellule

Bonjour le Forum,dietvert,excalibur,

Tu fais un couper-coller du 2ème exemple d'excalibur sur ta feuil2.
Ce qui ce produit, c'est que tu as 2 Worksheet_SelectionChange sur ta feuil1
donc lequel prendre ?. (avec cet exemple, tu modifie en A1).

J'espère que celà va fonctionner, je l'ai testé et pas de problème.
@+.
 
Re : Nomer un onglet par une cellule

Bonjour,

Merci pour votre aide, j'ai finalement choisi ce script :

Sub AjoutFiche()
'
' AjoutFiche Macro
'

Dim Ws As Worksheet 'declaration variable
Range("b13").Select 'selection cellule b13 dans l exemple
If Selection = "" Then Exit Sub ' si vide sortie de la macro
For Each Ws In Worksheets ' boucle sur toutes les feuilles
If Ws.Name = [b13] Then MsgBox "Ce nom de feuille existe déjà !": Exit Sub ' si feuille deja presente message + sortie macro
Next Ws 'sortie boucle
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = [b13] 'cree la feuille en dernier
Sheets("Accueil").Activate 'retour sur Accueil
[b13] = "" 'eventuellement vider la cellule apres creation feuille


End Sub

Ca fonctionne et c'est super, mais je n'arrive pas à ecricre le code pour dire que lorsqu'il à fini, qu'il faut qu'il copie toutes les cellules de l'onglet "Fiche" pour les coller dans cette fiche. Puis de classer l'onglet juste après l'onglet "Articles".

Merci pour votre aide ..
 
Re : Nomer un onglet par une cellule

bonjour Dietvert guitou77 jeanpierre(jeanpierre) JCGL (grenoblois) pierrot
le forum
pas bien bonnes mes explications milles excuses
si j ai compris!!!
Option Explicit
Sub AjoutFiche()
Dim Ws As Worksheet, s As Variant
Application.ScreenUpdating = False
Range("b13").Select
If Selection = "" Then Exit Sub
For Each Ws In Worksheets
If Ws.Name = [b13] Then MsgBox "Ce nom de feuille existe déjà !": Exit Sub
s = [b13]
Next Ws
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = [b13]
[b13] = ""
Sheets("Fiche").Activate: Range("a1:iv65536").Copy Destination:=Sheets(s).Range("A1")
Sheets(s).Move after:=Sheets("articles")
Sheets("Accueil").Activate
End Sub
 
Dernière édition:
Re : Nomer un onglet par une cellule



salut,

merci jeanpierre, j'ai testé ton code mais il me ouvre une boite de dialogue :
Erreur de compilation : Utilisation incorrecte du mot Me
 
Re : Nomer un onglet par une cellule

Bonjour à tous

Supprime l'espace entre Na et me pour avoir Name
Code:
Sheets.Add(after:=Worksheets(Worksheets.Count)).Na  me = [b13]

A+

Merci, ca fonctionne, ça met beaucoup de temps pour que la macro s'exécute, le petit sablier apparait, je me demande si c'est normale.

Merci 😉
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
  • Question Question
Réponses
5
Affichages
250
Didierpasdoué
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…