Appliquer un code VBA sur toutes les feuilles en meme temps
Le
Hello tout le monde!!!!
Je dispose d'un code qui fonctionne très bien dans une feuille excel, mais je ne sais pas comment le modifier pour pouvoir l'exécuter en une seule fois sur l'ensemble des feuilles du fichier.
Voici mon code (je suis débutant.je pense que ça doit se voir :-)
Sub Macro1()
Columns("H:H").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("H2").Select
ActiveCell.FormulaR1C1 = "CAHT Cumulé"
With ActiveCell.Characters(Start:=1, Length:).Font
.Name = "Tahoma"
.FontStyle = "Gras"
.Size = 8
.ColorIndex = 1
End With
Range("H3").Select
ActiveCell.FormulaR1C1 = "=+RC[-1]"
With Range("H4")
.FormulaR1C1 = "=+R[-1]C+RC[-1]"
.AutoFill Destination:=Range("H4:H" & Range("G65536").End(xlUp).Row)
End With
Columns("I:I").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("I2").Select
ActiveCell.FormulaR1C1 = "% CAHT"
With ActiveCell.Characters(Start:=1, Length:).Font
.Name = "Tahoma"
.FontStyle = "Gras"
.Size = 8
.ColorIndex = 1
End With
'2ème étape
Dim CellCible As Range
Dim CellCible1 As Range
Dim CellCible2 As Range
Set CellCible = Range("I3")
Set CellCible1 = Range("H3")
Set CellCible2 = Range("H3").End(xlDown)
With CellCible
.Style = "Percent"
.FormulaLocal = "=" & CellCible1.Offset(0, 0).Address(0, 0) & "/" & CellCible2.Offset(0, 0).Address
.AutoFill Destination:=Range("I3:I" & Range("H65536").End(xlUp).Row)
End With
End Sub
J'espère que quelqun pourra m'aider, et si ce n'est pas trop demander une petite explication serait la bienvenue.
D'avance merci!!!!
Reibmag ;-)
Je dispose d'un code qui fonctionne très bien dans une feuille excel, mais je ne sais pas comment le modifier pour pouvoir l'exécuter en une seule fois sur l'ensemble des feuilles du fichier.
Voici mon code (je suis débutant.je pense que ça doit se voir :-)
Sub Macro1()
Columns("H:H").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("H2").Select
ActiveCell.FormulaR1C1 = "CAHT Cumulé"
With ActiveCell.Characters(Start:=1, Length:).Font
.Name = "Tahoma"
.FontStyle = "Gras"
.Size = 8
.ColorIndex = 1
End With
Range("H3").Select
ActiveCell.FormulaR1C1 = "=+RC[-1]"
With Range("H4")
.FormulaR1C1 = "=+R[-1]C+RC[-1]"
.AutoFill Destination:=Range("H4:H" & Range("G65536").End(xlUp).Row)
End With
Columns("I:I").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("I2").Select
ActiveCell.FormulaR1C1 = "% CAHT"
With ActiveCell.Characters(Start:=1, Length:).Font
.Name = "Tahoma"
.FontStyle = "Gras"
.Size = 8
.ColorIndex = 1
End With
'2ème étape
Dim CellCible As Range
Dim CellCible1 As Range
Dim CellCible2 As Range
Set CellCible = Range("I3")
Set CellCible1 = Range("H3")
Set CellCible2 = Range("H3").End(xlDown)
With CellCible
.Style = "Percent"
.FormulaLocal = "=" & CellCible1.Offset(0, 0).Address(0, 0) & "/" & CellCible2.Offset(0, 0).Address
.AutoFill Destination:=Range("I3:I" & Range("H65536").End(xlUp).Row)
End With
End Sub
J'espère que quelqun pourra m'aider, et si ce n'est pas trop demander une petite explication serait la bienvenue.
D'avance merci!!!!
Reibmag ;-)
Sub attFeuilles()
Dim sh as worksheet
For each sh in activeworkbook.sheets
sh.activate
call Macro1
next sh
end sub
'LSteph
Bonjour!!!
Waouh.....c'est génial.....ça fonctionne!!!
Un très très grand merci! Vous me sauvez la vie, j'etais pret a executer mon code feuille par feuille (il y en a 150)!!!
Bonne soirée
évite tous les select
Exemple au lieu de:
''''
Columns("H:H").Select
Selection.Insert Shift:=xlToRight,
CopyOrigin:=xlFormatFromLeftOrAbove
Range("H2").Select
ActiveCell.FormulaR1C1 = "CAHT Cumulé"
'''''
Columns("H:H").Insert Shift:=xlToRight,
CopyOrigin:=xlFormatFromLeftOrAbove
[H2].FormulaR1C1 = "CAHT Cumulé"
'LSteph