Renomer feuille en meme temps que sa creation
bonjour
je suis toujours sur cette macro qui me permetrer de renomer la feuille automatiquement surtout etant novice je ne sais pas ou la mettre mais voila ce j ai dans ma macro
Sub regle()
'
' regle Macro
'
'
Sheets("LISTING").Select
Selection.EntireRow.Insert
Sheets("ENCODAGE").Select
ActiveWindow.SmallScroll Down:=3
Range("A29:J29").Select
Selection.Copy
Sheets("LISTING").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("ENCODAGE").Select
ActiveWindow.SmallScroll Down:=-15
Range("A1:R29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets.Add After:=ActiveSheet
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=6
Sheets("ENCODAGE").Select
Range("A2").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A3:B25").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=12
End Sub
bonsoir guytine
voici un code qui permets par le bouton la création d'un l'onglet et de le renommé avec la valeur que contient une combobox où un textbox, en fait ca peut être sur feuille ou userform
je ne sais pas si c'est comme cela que tu voulais mais voila ce que je te propose
Private Sub CommandButton1_Click()
'déclaration de la variable
Dim Faute As Long
'si le combobox est vide on sort
If Me.ComboBox1 = "" Then Exit Sub
On Error Resume Next
'affiche la feuille au nom du combobox
Sheets(Me.ComboBox1.Text).Visible = True
Faute = Err.Number
On Error GoTo 0
If Faute > 0 Then
'crétion de la feuille en dernière position après comptage
Sheets.Add after:=Sheets(Sheets.Count)
' le nom de la feuille devient celui qui est afficher dans la combobox
ActiveSheet.Name = Me.ComboBox1
Else
MsgBox "Feuille existante"
End If
End Subje n'ai pas vu avant mais thau theme t'as donner une réponse dans l'autre post pour la même question
https://forum.excel-pratique.com/excel/renomer-feuille-en-meme-temps-que-sa-creation-t86364.html
bonjour
il m avais donne une solution j ai essaye n ai pas su la mettre en place
la reponse que tu me donne je l incorpore a la fin de ma macro! ou j en cree une autre! sachant que le nom que ma feuille doit porter se trouve en A29 sur la feuille
merci
bonsoir guytine
comment tu veux nommé ta feuille a partir de ou sur feuille, sur formulaire réponds d'abord a ceci, cr le code que je te propose fonctionne mieux a partir d'un userform
pour le code de Thau thème tu clic droit sur la feuille et tu visualise le code et la tu colles la ligne
j'ai modifier un peu le code, maintenant il fonction au clic d'un bouton sur feuille j'approche de ce que tu veux non
Sub nom_feuil()
'déclaration de la variable
Dim Faute As Long
'si le combobox est vide on sort
'If Me.ComboBox1 = "" Then Exit Sub
On Error Resume Next
'affiche la feuille au nom du combobox
Sheets("feuil1").Range ("A29")
'Sheets(Me.ComboBox1.Text).Visible = True
Faute = Err.Number
On Error GoTo 0
If Faute > 0 Then
'crétion de la feuille en dernière position après comptage
Sheets.Add after:=Sheets(Sheets.Count)
' le nom de la feuille devient celui qui est afficher dans la combobox
'ActiveSheet.Name = Me.ComboBox1
ActiveSheet.Name = Sheets("feuil1").Range("A29")
Else
MsgBox "Feuille existante"
End If
End Subbonsoir
autrement j'ai ce code qui permet de créer un onglet mais en le renommant S1 et s1 existe alors il mettra S2 etc sous réservé de changer le nom de la feuille derrière laquelle les nouvelles feuilles se créer
je laisse d'autres le modifier s'il le faut car je suis absent le reste de la semaine, mais n'ouvre plus de post pour la même question
Sub DuplicationFeuilleViergeAvecData()
Dim Tourne As Long
Dim Feuille As Worksheet
Dim SMax As Integer
'pour toutes les feuille du classeur
For Each Feuille In ThisWorkbook.Worksheets
'et si "S" existe
If Left(Feuille.Name, 1) = "S" And Mid(Feuille.Name, 2) > SMax Then SMax = Mid(Feuille.Name, 2)
Next
'on ajoute un onglet après la feuille "matrice" et il est nommé "S"
Sheets.Add after:=Sheets("Matrice")
' si"S" existe alors on renomme en "S1" ou "S2"
ActiveSheet.Name = "S" & SMax + 1
End Sub