VBA: générer une feuille avec un nom variable
FrenchyFrog
-
dandypunk Messages postés 838 Statut Membre -
dandypunk Messages postés 838 Statut Membre -
Bonjour,
Je souhaite creer via une macro VB une application me permettant de générer de feuille avec un nom variable
pour cela, je veux:
récupérer la valeur d'une cellule dans une feuille (je ne sais pas trop comment faire)
[ Cette valeur fais partie d'un tableau d'une colone de A6 à A ?
Valeur entière allant de 1 à env 300 ]
Creer une feuille
[ par copie d'une existante]
la renommer avec en partie la valeur de la cellule.
[ "J" et variable, par ex: "J102"]
Voici ce que j'ai fais:
Sub Ajout_condition_essai1()
'
' Ajout_condition_essai1 Macro
'
' Variable avec la valeur du numero de la derniere condition
Dim temp As Variant
Sheets("LISTE").Select
ActiveSheet.Unprotect
Range("A1000").End(xlUp).Select
' Affecter la valeur de la derniere valeur de la colonne A
temp = ActiveCell.Value
Insertion d'une ligne dans LISTE
ActiveCell.EntireRow.Copy
ActiveCell.Offset(1, 0).Select
Selection.Insert Shift:=xlDown
ActiveCell.FormulaR1C1 = "=R[-1]C[0]+1"
' Copier un nouvel onglet J i
Sheets("JX").Select
Sheets("JX").Copy Before:=Sheets("JX")
Sheets("JX (2)").Select
Sheets("JX (2)").Name = "J" & temp
Sheets("LISTE").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowInsertingRows:=True, AllowInsertingHyperlinks:=True, _
AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True
End Sub
Merci d'avance !
Je souhaite creer via une macro VB une application me permettant de générer de feuille avec un nom variable
pour cela, je veux:
récupérer la valeur d'une cellule dans une feuille (je ne sais pas trop comment faire)
[ Cette valeur fais partie d'un tableau d'une colone de A6 à A ?
Valeur entière allant de 1 à env 300 ]
Creer une feuille
[ par copie d'une existante]
la renommer avec en partie la valeur de la cellule.
[ "J" et variable, par ex: "J102"]
Voici ce que j'ai fais:
Sub Ajout_condition_essai1()
'
' Ajout_condition_essai1 Macro
'
' Variable avec la valeur du numero de la derniere condition
Dim temp As Variant
Sheets("LISTE").Select
ActiveSheet.Unprotect
Range("A1000").End(xlUp).Select
' Affecter la valeur de la derniere valeur de la colonne A
temp = ActiveCell.Value
Insertion d'une ligne dans LISTE
ActiveCell.EntireRow.Copy
ActiveCell.Offset(1, 0).Select
Selection.Insert Shift:=xlDown
ActiveCell.FormulaR1C1 = "=R[-1]C[0]+1"
' Copier un nouvel onglet J i
Sheets("JX").Select
Sheets("JX").Copy Before:=Sheets("JX")
Sheets("JX (2)").Select
Sheets("JX (2)").Name = "J" & temp
Sheets("LISTE").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowInsertingRows:=True, AllowInsertingHyperlinks:=True, _
AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True
End Sub
Merci d'avance !
Configuration: Windows 2000 Internet Explorer 6.0
1 réponse
-
Essaye cela
Sub AjouterFeuille() Dim iNombreFeuille As Integer Dim sNomFeuille As String Dim wsFeuilleCopiée As Worksheet Dim iQuit As Integer On Error GoTo GestionErreurs iNombreFeuille = ActiveWorkbook.Sheets.Count 'On compte le nombre de feuilles sNomFeuille = "J" & ActiveCell.Value Worksheets("LISTE").Copy after:=Sheets(iNombreFeuille) Set wsFeuilleCopiée = Sheets("LISTE (2)") wsFeuilleCopiée.Name = sNomFeuille Exit Sub 'Evite la gestion des erreurs GestionErreurs: If Err.Number = 1004 Then iQuit = MsgBox("La feuille existe déjà", vbCritical + vbOKOnly, "Doublon dans les feuilles") End If End Sub