Duppliquer onglet puis revenir sur l'original
A
Bonjour,
Je cherche à créer une macro qui fasse l'opération suivante :
(1) je sélectionne une plage de cellules dans un onglet
(2) quand je lance la macro, celle-ci dupplique mon onglet de travail actuel
(3) puis cache cette "copie" d'onglet
(4) puis efface le format de ma plage de cellules dans le "premier" onglet (l'onglet original)
Je suis pour l'instant arrivé à ce résultat :
Sub Macro1()
'Procédure pour afficher / supprimer le format des cellules
Dim numLigne As Integer, numColonne As Integer, numFeuille As Integer, nomFeuille As String
numLigne = Selection.Row
numColonne = Selection.Column
numFeuille = ActiveSheet.Index
nomFeuille = ActiveSheet.Name
' D'abord, la macro dupplique l'onglet de la sélection et le cache
With ActiveSheet
.Copy After:=ActiveSheet
End With
With ActiveSheet
.Visible = False
End With
'La macro fait ensuite disparaître le format de l'onglet principal
With Sheets(ActiveSheet.Index - 1).Select
.Borders.LineStyle = xlNone
.Interior.Pattern = xlNone
.Interior.TintAndShade = 0
.Interior.PatternTintAndShade = 0
.Font.Color = 0
.Font.Italic = False
.Font.Bold = False
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlGeneral
End With
End Sub
La reference Sheets(ActiveSheet.Index-1).Select ne fonctionne pas.
Je ne comprends pas pourquoi, puisqu'il s'agit bien de la plage de cellules que j'ai sélectionnée avant de lancer la macro, non?
Merci beaucoup de votre aide.
Akilis
g
Bonjour
Essaie ainsi :
Option Explicit
Sub Macro1()
'Procédure pour afficher / supprimer le format des cellules
Dim numLigne As Integer, numColonne As Integer, numFeuille As Integer, nomFeuille As String
Dim f As Worksheet
Set f = ActiveSheet
numLigne = Selection.Row
numColonne = Selection.Column
numFeuille = ActiveSheet.Index
nomFeuille = ActiveSheet.Name
' D'abord, la macro dupplique l'onglet de la sélection et le cache
With ActiveSheet
.Copy After:=ActiveSheet
End With
With ActiveSheet
.Visible = False
End With
'La macro fait ensuite disparaître le format de l'onglet principal
f.Select
With Selection 'Sheets(ActiveSheet.Index - 1).Select
.Borders.LineStyle = xlNone
.Interior.Pattern = xlNone
.Interior.TintAndShade = 0
.Interior.PatternTintAndShade = 0
.Font.Color = 0
.Font.Italic = False
.Font.Bold = False
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlGeneral
End With
End Sub
Bye !
A
Merci BEAUCOUP !
Akilis