Excel formule dans nom de feuille?

Résolu/Fermé
Beeloobop Messages postés 63 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 4 décembre 2010 - 13 août 2010 à 11:46
LeDénicheur Messages postés 565 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 1 décembre 2013 - 18 août 2010 à 15:15
Bonjour,

Savez-vous s'il est possible de mettre une formule dans un nom de feuille dans excel 2007?
Je voudrais pouvoir nommer mes feuilles automatiquement avec le contenu d'une cellule.

Merci!

Beeloobop

A voir également:

7 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
13 août 2010 à 11:52
Bonjour,

Non tu ne peux pas mettre de formule dans les nom de page.

Tu pourrais éventuellement créer une macro a cet effet.

Cordialement
Patrice
1
LeDénicheur Messages postés 565 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 1 décembre 2013 358
13 août 2010 à 14:39
Alors deja faudra ecrire ce code dans "thisWorkbook"
Sub workbook_open()
Show.inputbox
End Sub

Alors tu te crées une inputbox sous forme de Userform.
http://dj.joss.free.fr/usf.htm (Site qui explique bien toutes les options et comment les utiliser)
Ensuite, tu te frabriques deux TextBox genre "nombox" et "prenombox"
Tu te crée un bouton "Ok" en CommandButton et tu l'appelles "okbutton" par exemple.

Tu ouvres le code de la userform, et tu mets ceci :

Private Sub ajout_Click()

Application.ScreenUpdating = False

'Vérifie si les cases sont bien remplies
If nombox = "" Then
MsgBox "Veuillez entrer un nom." ,vbExclamation
Exit Sub
End If
If prenombox = "" Then
MsgBox "Veuillez entrer un nom." ,vbExclamation
Exit Sub
End If

ininom = Gauche(nombox,1)
iniprenom = Gauche(prenombox,1)
Sheets("fin").visible = true
Do until activesheet.name = fin (là faudra que tu cré une feuille de fin nommée "fin" pour pouvoir faire une boucle :> solution temporaire, sinon j'ai pas d'idée)
if activesheet.name = "" & ininom & " " & iniprenom & "" then
MsgBox ("Bonjour " & nom & " " & prenom & ", vous pouvez continuer à rentrer vos données. ")
Exit sub
end if
Loop
Sheets.Add
ActiveSheet.Name = "" & ininom & " " & iniprenom & ""
MsgBox ("Bonjour " & nom & " " & prenom & ", voici une nouvelle veuille de données pour vous. ")
Sheets("fin").visible = False
Application.ScreenUpdating = True
End Sub

Essaye et dis moi ce qu'il en est :)
1
LeDénicheur Messages postés 565 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 1 décembre 2013 358
13 août 2010 à 11:55
Bonjour,
Tu peux faire un bouton pour créer des nouvelles feuilles ayant le nom contenu dans une cellule, je ne sais pas dans quel condition tu souhaites faire ceci mais bon, si ça peut t'aider.

Sub newfeuille()
Sheets.Add
ActiveSheet.Name = Sheets(Nomfeuille).Range("A1").Value
End Sub
Un truc dans ce genre là...
Tu connais un peu le VBA et les macros ?
0
Beeloobop Messages postés 63 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 4 décembre 2010 11
13 août 2010 à 12:08
Merci pour cette réponse claire et précise Patrice :)

Pour LeDénicheur, oui je m'y mets petit à petit tellement c'est utile et pratique!

Le code que tu m'as donné me parait tout adapté à la suite que je veux donner à mes affaires!

En gros :
Au jour J, l'utilisateur ouvre excel
Une inputbox apparait "quel est votre nom?"
Une 2e inputbox apparait "quel est votre prénom?"
Et avec ces deux questions création par vba d'une feuille portant ses initiales (d'où ton code :) )
Puis un tas d'autres inputbox pour entrer d'autres diverses données dans cette même feuille.

Au jour J+1, l'utilisateur ouvre excel
Une inputbox apparait "quel est votre nom?"
Une 2e inputbox apparait "quel est votre prénom?"
Et il doit pouvoir retrouver la feuille correspondante pour continuer d'ajouter les données à la suite des autres.

Bref je vais pas raconter ma vie tout de suite, à mon avis je vais revenir un peu sur ce forum pour demander votre précieuse aide ;)

Merci encore !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Beeloobop Messages postés 63 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 4 décembre 2010 11
Modifié par Beeloobop le 13/08/2010 à 17:49
Juste pour info (enfin pour le moment en tout cas, j'approche de la limite d'exlposion de mon cerveau, j'ai passé 2h à faire ça en macro, et depuis 2h je me suis aperçue que, oui les userform seraient vachement plus adaptés... Mais je n'ai absolument jamais utilisé ces choses étranges...)

J'ai mis ça au lieu de ta première petite macro (avec la tienne ça ne lançait rien du tout??)
Sub Lance()
Load UserForm1
UserForm1.Show
End Sub

Et j'ai mis le code que tu m'as donné sous :
Private Sub UserForm_Click()

Mais ça plante. ça rame à fond, je suis obligée de quitter excel en le plantant. J'ai pas vu de créatin d'une nouvelle feuille. J'ai pas du mettre le code au bon endroit...

D'ailleurs, c'est pour faire quoi? ça met à jour le fichier excel après les modif?
Application.ScreenUpdating = False (ou true)


Le site que tu as mis en lien est d'enfer, je crois que je vais me pencher la dessus!

Merci encore!
0
LeDénicheur Messages postés 565 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 1 décembre 2013 358
14 août 2010 à 19:45
Dans ton classeur, avant de lancer ta macro, a tu créer une feuille nommé "fin" comme je te l'avais dis ? :)
Masque là après l'avoir créer et lance ta macro ensuite
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
15 août 2010 à 00:15
Bonsoir,

Je n'ai pas regardé le détail de la macro mais plutôt que :
Do until activesheet.name = fin (là faudra que tu cré une feuille de fin nommée "fin" pour pouvoir faire une boucle :> solution temporaire, sinon j'ai pas d'idée)
if activesheet.name =

tu pourrais mettre :
dim sh as worksheet
for each sh in worksheets
if sh.name =....
...
next sh

eric
0
LeDénicheur Messages postés 565 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 1 décembre 2013 358
16 août 2010 à 09:33
Je suis bien d'accord avec toi ^^ j'connaissais pas cette commande.
0
Beeloobop Messages postés 63 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 4 décembre 2010 11
18 août 2010 à 10:26
Bonjour!

C'est reparti pour une semaine de travail! J'ai fait les modif' et ça marche!
Yeah merci! la feuille s'ajoute! :)

Me reste à continuer de me plonger dans les méandres fabuleux des userforms (en français ce sont les formulaires?) pour poursuivre dans la saisie de mes données.

Merci à vous deux! Et sûrement à bientôt!

Beeloobop
0
LeDénicheur Messages postés 565 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 1 décembre 2013 358
Modifié par LeDénicheur le 18/08/2010 à 15:15
GL :) Les userforms c'est assez marrant à faire et à utiliser :) Hésite pas à mettre des +1 aux messages interessantes, ça aidera peut être les autres. Marque ton post comme résolu aussi :)
0
hich24 Messages postés 1619 Date d'inscription mardi 2 octobre 2007 Statut Membre Dernière intervention 11 avril 2023 752
18 août 2010 à 11:32
ra essayer avec les macros
0