Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

renommer nouvel onglet avec la valeur d'une cellule

4 réponses
Avatar
magic-dd
Bonjour

je viens de creer une procedure mais je bloque sur le renommage de ma feuille

j'aimerai qu'elle prenne la valeur de la cellule A1 et qu'elle soit au format MMMM YYYY

voila ce que j'ai ecris mais ca merdouille

ActiveSheet.Name = ActiveSheet.Range("A1").Value.Format(Date, "MMMM YYYY").


merci

4 réponses

Avatar
MichD
Bonjour,

Si dans la cellule A1, tu as une date reconnue par Excel et que tu veux
prendre
cette date comme nom d'un onglet d'une feuille, tu peux utiliser une de ces
2
syntaxes.

Ceci requiert que la feuille de calcul soit celle affichée à l'écran
'-----------------------------------------
Sub test()
With ActiveSheet
.Name = Format(.Range("A1"), "MMMM YYYY")
End With
End Sub
'-----------------------------------------

Lorsque tu utilises le nom de l'onglet de la feuille actuel que tu veux
modifier,
La feuille n'est pas obligée d'être la feuille active pour que cela
fonctionne.
'-----------------------------------------
Sub test()
With Worksheets("Feuil1")
.Name = Format(.Range("A1"), "MMMM YYYY")
End With
End Sub
'-----------------------------------------
Avatar
magic-dd
Merci encore MichD

je n'avais pas intuité le with end with et l'imbrication du nom de la cellule avec le format

en revanche, en cas de conflit,
c à d qu'une feuille se nomme déja de la meme maniere, est il ,po ssible de lui dire que si une feuille à déja le mem nom alors lui attribuer ce nom avec -1 ou -2 selon le cas


Le mercredi 17 septembre 2014 15:08:31 UTC+2, MichD a écrit :
Bonjour,



Si dans la cellule A1, tu as une date reconnue par Excel et que tu veux

prendre

cette date comme nom d'un onglet d'une feuille, tu peux utiliser une de c es

2

syntaxes.



Ceci requiert que la feuille de calcul soit celle affich�e ï¿ ½ l'�cran

'-----------------------------------------

Sub test()

With ActiveSheet

.Name = Format(.Range("A1"), "MMMM YYYY")

End With

End Sub

'-----------------------------------------



Lorsque tu utilises le nom de l'onglet de la feuille actuel que tu veux

modifier,

La feuille n'est pas oblig�e d'�tre la feuille active pou r que cela

fonctionne.

'-----------------------------------------

Sub test()

With Worksheets("Feuil1")

.Name = Format(.Range("A1"), "MMMM YYYY")

End With

End Sub

'-----------------------------------------
Avatar
magic-dd
Merci encore MichD

je n'avais pas intuité le with end with et l'imbrication du nom de la cel lule avec le format


Le mercredi 17 septembre 2014 14:47:08 UTC+2, magic-dd a écrit :
Bonjour



je viens de creer une procedure mais je bloque sur le renommage de ma feu ille



j'aimerai qu'elle prenne la valeur de la cellule A1 et qu'elle soit au fo rmat MMMM YYYY



voila ce que j'ai ecris mais ca merdouille



ActiveSheet.Name = ActiveSheet.Range("A1").Value.Format(Date, "MMMM YY YY").





merci
Avatar
MichD
Bonjour,

D'abord, exécute cette macro une fois. Elle crée un nom (Names) "Compteur"

'-----------------------------------------
Sub Définir_Compteur()
Application.Names.Add Name:="Compteur", RefersTo:=1, Visible:úlse
End Sub
'-----------------------------------------


La procédure devient cela :
'-----------------------------------------
Sub test1()
On Error Resume Next
With Worksheets("Feuil1") ' ou ActiveSheet
Set Sh = Sheets(Format(.Range("A1"), "MMMM YYYY"))
If Err <> 0 Then
Err = 0
.Name = Format(.Range("A1"), "MMMM YYYY") & "(2)"
End If
End With
End Sub
'-----------------------------------------