Mettre le nom de la feuille dans une case ? ex :... [Excel] - Divers - Programmation
Marsh Posté le 27-12-2002 à 13:43:42
oui c'est possible.
il faut ke tu passe par le code visual basic.
tu te places sur l'onglet de ta feuille, en bas a droite, clic droit et "visualiser le code"
L'editeur VB va s'ouvrir. et te presente le code de ta feuille, ce ki va ressembler a ca :
Citation : Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) |
il te suffit maintenant d'ajouter cette ligne, entre les deux deja presentes :
Citation : worksheets(1).range("A1" ) = "mois :" & Worksheets(2).Name & "2002" |
ou "1" est l'index de la feuille contenant la cellule qui doit afficher le mois, "A1" l'adresse de la cellule en question et "2" l'index de la feuille dont le nom change.
Tu refermes le tout (vb) et c'est gagné.
bubka
Marsh Posté le 28-12-2002 à 06:44:48
L'auteur de ce topic peut éditer le premier post pour le ranger dans la bonne sous-catégorie.
(à priori divers)
Marsh Posté le 04-01-2003 à 19:47:23
Merci pour ta réponse mias je n'ai aucun code qui s'affiche dans l'éditeur VB.
De plus qu'appelles tu index?
PS: Le sujet est maintenant dans divers...
Marsh Posté le 04-01-2003 à 23:45:39
dionaea a écrit : Merci pour ta réponse mias je n'ai aucun code qui s'affiche dans l'éditeur VB. |
L'index, c'est le numero de la feuille. Elle porte un nom, mais reste numeroté,de sorte que comme dans le cas present, tu puisses retrouver la feuille alors que son nom change ( pas son index).
Pour l'editeur VB, c'est normal que tu n'ai aucun code, vu k'il faut que tu le tapes ( celui que je t'ai donné ). Cela dis, il faut bien ke tu fasses la manip que je t'ai indiqué, a savoir clic droit sur l'onglet de la feuille, et ne pas passer par le menu de Excel, car sinon effectivement le code de ta feuille ne sera pas affiché.
Bubka
Marsh Posté le 05-01-2003 à 11:30:15
Je fais bien clique droit sur l'onglet mais la page de code est vide, je n'ai même pas :
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
End Sub
De plus, d'après ce que je comprends j'utilise 2 feuilles (index 1&2) dans ton explication mais je t'explique mon cas :
J'ai une feuille de calcul (relevé d'heure mensuel) qui se nomme novembre 2002 par ex et sur cette feuille j'ai une case "E3" qui contient "Novembre 2002".
Lorsque je passe au mois suivant je duplique ma feuille Novembre 2002 et je change le nom de celle ci en "décembre 2002". Le problème c'est que bien souvent j'oublie de changer ma case E3... Je veux juste que la case E3 affiche le nom de la feuille sur laquelle elle se trouve.
Merci de ton aide
edit : Bon c'est bon j'ai compris comment ça fonctionnait, j'ai mis :
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Worksheets(4).Range("E3" ) = "mois : " & Worksheets(4).Name & " 2002"
End Sub
Car ma feuille est en 4eme dans mon classeur...Par contre j'ai un autre soucis...
Qd je duplique ma feuille 4 et que je renomme la feuille dupliquée (feuille 5), le nom gardé est celui de la feuille 4 (normal puisque que le code dit "Worksheets(4)"
Comment puis je mettre a jour automatiquement le code pour qu'il prenne le nom de la page en cours?
Marsh Posté le 05-01-2003 à 15:45:46
pour que ce soit la feuille active, tu remplaces whorksheet(x) par activesheet.
C'est tout.
Marsh Posté le 27-12-2002 à 11:58:59
Bonjour à tous et tout d'abord Bonnes fêtes !!
Dans excel, j'aimerai que le nom de ma feuille, c'est à dire un mois (janvier, etc...) apparaisse dans une cellule.
Je m'explique à travers cet exemple :
J'ai une cellule "Mois : Novembre 2002" et j'aimerai que le "novembre" change directement quand je change le nom de ma feuille..
C'est possible?
Merci d'avance
Message édité par dionaea le 04-01-2003 à 19:43:11