Créer une nouvelle feuille portant comme nom la valeur d'une cellule

yannick64

XLDnaute Junior
Bonjour à tous,

Tout est dans le titre. Je cherche une fonction ou une macro qui me permettrait de créer une nouvelle feuille (pour y stocker les résultats d'un formulaire avant dépouillement) et il faudrait que cette feuille porte comme nom le contenu d'une cellule, en l’occurrence celle ci contient le nom d'un élève.

Merci d'avance pour votre aide !
Yannick
 

bbb38

XLDnaute Accro
Re : Créer une nouvelle feuille portant comme nom la valeur d'une cellule

Bonjour Yannick, le forum,
Pour ma part, difficile de t’aider sans un exemple.
Cependant, Je te joins un fichier concernant la création d’une feuille.
Cordialement,
Bernard
 

Pièces jointes

  • yannick64.xlsm
    17 KB · Affichages: 141

Softmama

XLDnaute Accro
Re : Créer une nouvelle feuille portant comme nom la valeur d'une cellule

Bonjour,

Ceci devrait t'aider : tout est dans les commentaires.
VB:
Sub test()
  Application.Sheets.Add after:=Sheets(1) 'ajoute une feuille après la feuil1
  ActiveSheet.Name = Sheets("Feuil1").Range("A1").Text 'lui donne le nom contenu dans la cellule A1 de la feuil1
End Sub

++
 

mth

XLDnaute Barbatruc
Re : Créer une nouvelle feuille portant comme nom la valeur d'une cellule

Bonsoir à tous :)

Dans la même idée que Bernard que je salue :) (... mais en un peu plus long ...:()
VB:
Sub macro1()
Dim NomFeuille As String
'nom indiqué dans le cellule A1 de l'onglet Feuil1
NomFeuille = Sheets("Feuil1").Range("A1")
'Si le nom est vide affiche le message et sort de la macro
If NomFeuille = "" Then
MsgBox ("Indiquez un nom")
Exit Sub
End If
'si l'onglet existe déjà, provoque une erreur
'dans ce cas va à "fin"
On Error GoTo fin
'ajoute un onglet portant le nom voulu
Sheets.Add.Name = NomFeuille
'le place en dernier
Sheets(NomFeuille).Move , Sheets(Sheets.Count)
'sort de la macro
Exit Sub
'procédure appelée en cas d'erreur:
fin:
MsgBox "cette feuille existe déjà"
'désactive les alertes Excel
Application.DisplayAlerts = False
'Efface l'onglet qui vient d'être créé mais
'qui n'a pu être nommé
ActiveSheet.Delete
'réactive les aletres excel
Application.DisplayAlerts = True
End Sub

Bonne soirée/nuit,

mth

Edit: Bonsoir Softmama :)
 

DoubleZero

XLDnaute Barbatruc
Re : Créer une nouvelle feuille portant comme nom la valeur d'une cellule

Bonjour, le Fil, le Forum,

Une nouvelle proposition dans le fichier joint, avec lequel :

- saisie des noms à partir de A2 ;

- doublons interdits grâce à "Validation des données" ;

- hyperliens entre onglets (onglet "Sommaire" => double clic - autres onglets => simple clic en A1) ;

- classement alphabétique de la liste des noms ;

- après saisie, sélectionner la (les) cellule(s) ;

- clic sur le soleil !

A bientôt :).

Fichier retiré (en cours de modification) :eek:
 
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Re : Créer une nouvelle feuille portant comme nom la valeur d'une cellule

Re-bonjour,

Un petit souci dans le fichier précédemment transmis semble être corrigé :confused: ainsi :

VB:
Option Explicit

Sub Onglet_créer()
Dim c As Range
Application.ScreenUpdating = False

For Each c In [c2:c1000]
c.Select
Sheets.Add
On Error GoTo fin
ActiveSheet.Name = c.Value
ActiveSheet.[A1].Value = c.Value
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        "Sommaire!A1", TextToDisplay:=ActiveSheet.Name
Sheets("Sommaire").Select

c.Cut Destination:=Range("A" & Rows.Count).End(xlUp)(2)
[A1].Sort Key1:=[A2], Header:=xlGuess
Next

fin:
Application.DisplayAlerts = False
If ActiveSheet.Name Like ("Feuil*") Then ActiveSheet.Delete
c.Delete Shift:=xlUp
Application.DisplayAlerts = True
Columns("A:A").EntireColumn.AutoFit
[C2].Select
Application.ScreenUpdating = True
End Sub

Le code de l'onglet "Sommaire" est inchangé.

A bientôt :).
 

Pièces jointes

  • 00 - yannick64 V2.xls
    68.5 KB · Affichages: 90

yannick64

XLDnaute Junior
Re : Créer une nouvelle feuille portant comme nom la valeur d'une cellule

Merci à tous pour vos propositions !!! Le moins que l'on puisse dire c'est que vous êtes rapide ! :cool:

Je vais tester pour voir laquelle correspond le mieux à mon besoin.

Encore merci
Yannick64
 

yannick64

XLDnaute Junior
Re : Créer une nouvelle feuille portant comme nom la valeur d'une cellule

Merci a tous, la méthode de mth marche nickel!!! et est largement suffisante pour mon besoin.

Du coup j'ai une autre question, je n'y avait pas pensé mais comment est ce que je peux faire pour copier le résultat de mon évaluation dans la feuille correspondante à mon élève. J'ai essayé de faire une macro mais je suis obligé de mettre un nom pour la feuille de destination. J'aimerai en fait utiliser de la même façon que pour la création de la feuille le contenu de la cellule contenant le nom.

Ensuite, comme je dois dépouiller ces résultats, je pense utiliser les valeurs dans un publipostage Word par exemple. Mais comment faire pour automatiser cette manip? Sachant qu'aucune feuille ne porte le même nom...

Je vous mets en pièce jointe le fichier en question... Soyez indulgents c'est une ébauche et je suis loin d'être calé avec Excel...:cool:
 

Pièces jointes

  • Test évaluations espagne.xls
    42 KB · Affichages: 73
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 576
Messages
2 089 863
Membres
104 293
dernier inscrit
blondo